Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core: add guidance level to performance audits #15025

Merged
merged 9 commits into from
Aug 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions core/audits/bf-cache.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ class BFCache extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
supportedModes: ['navigation', 'timespan'],
guidanceLevel: 2,
requiredArtifacts: ['BFCacheFailures'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/bootup-time.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class BootupTime extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
guidanceLevel: 1,
requiredArtifacts: ['traces', 'devtoolsLogs'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/duplicated-javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class DuplicatedJavascript extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 2,
requiredArtifacts: ['devtoolsLogs', 'traces', 'SourceMaps', 'Scripts',
'GatherContext', 'URL'],
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class EfficientAnimatedContent extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
requiredArtifacts: ['devtoolsLogs', 'traces', 'GatherContext', 'URL'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/legacy-javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ class LegacyJavascript extends ByteEfficiencyAudit {
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
description: str_(UIStrings.description),
title: str_(UIStrings.title),
guidanceLevel: 2,
requiredArtifacts: ['devtoolsLogs', 'traces', 'Scripts', 'SourceMaps',
'GatherContext', 'URL'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/modern-image-formats.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class ModernImageFormats extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
requiredArtifacts: ['OptimizedImages', 'devtoolsLogs', 'traces', 'URL', 'GatherContext',
'ImageElements'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/offscreen-images.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ class OffscreenImages extends ByteEfficiencyAudit {
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
supportedModes: ['navigation'],
guidanceLevel: 2,
requiredArtifacts: ['ImageElements', 'ViewportDimensions', 'GatherContext', 'devtoolsLogs',
'traces', 'URL'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/render-blocking-resources.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ class RenderBlockingResources extends Audit {
supportedModes: ['navigation'],
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
description: str_(UIStrings.description),
guidanceLevel: 2,
// TODO: look into adding an `optionalArtifacts` property that captures the non-required nature
// of CSSUsage
requiredArtifacts: ['URL', 'TagsBlockingFirstPaint', 'traces', 'devtoolsLogs', 'CSSUsage',
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/total-byte-weight.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class TotalByteWeight extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
guidanceLevel: 1,
requiredArtifacts: ['devtoolsLogs'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/unminified-css.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class UnminifiedCSS extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
requiredArtifacts: ['CSSUsage', 'devtoolsLogs', 'traces', 'URL', 'GatherContext'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/unminified-javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class UnminifiedJavaScript extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
requiredArtifacts: ['Scripts', 'devtoolsLogs', 'traces', 'GatherContext', 'URL'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/unused-css-rules.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class UnusedCSSRules extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 2,
requiredArtifacts: ['CSSUsage', 'URL', 'devtoolsLogs', 'traces', 'GatherContext'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/unused-javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ class UnusedJavaScript extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 2,
requiredArtifacts: ['JsUsage', 'Scripts', 'SourceMaps', 'GatherContext',
'devtoolsLogs', 'traces', 'URL'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/uses-long-cache-ttl.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class CacheHeaders extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
requiredArtifacts: ['devtoolsLogs'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/uses-optimized-images.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class UsesOptimizedImages extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 2,
requiredArtifacts: ['OptimizedImages', 'ImageElements', 'GatherContext', 'devtoolsLogs',
'traces', 'URL'],
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class UsesResponsiveImagesSnapshot extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: UsesResponsiveImages.str_(UsesResponsiveImages.UIStrings.description),
supportedModes: ['snapshot'],
guidanceLevel: 2,
requiredArtifacts: ['ImageElements', 'ViewportDimensions'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/uses-responsive-images.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class UsesResponsiveImages extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 2,
requiredArtifacts: ['ImageElements', 'ViewportDimensions', 'GatherContext',
'devtoolsLogs', 'traces', 'URL'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/byte-efficiency/uses-text-compression.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class ResponsesAreCompressed extends ByteEfficiencyAudit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: ByteEfficiencyAudit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
requiredArtifacts: ['ResponseCompression', 'GatherContext', 'devtoolsLogs', 'traces', 'URL'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/critical-request-chains.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class CriticalRequestChains extends Audit {
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
supportedModes: ['navigation'],
guidanceLevel: 1,
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/dobetterweb/dom-size.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ class DOMSize extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
guidanceLevel: 1,
requiredArtifacts: ['DOMStats', 'URL', 'GatherContext'],
__internalOptionalArtifacts: ['traces', 'devtoolsLogs'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/dobetterweb/no-document-write.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ class NoDocWriteAudit extends ViolationAudit {
title: str_(UIStrings.title),
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
guidanceLevel: 2,
requiredArtifacts: ['ConsoleMessages', 'SourceMaps', 'Scripts'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/dobetterweb/uses-http2.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class UsesHTTP2Audit extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
guidanceLevel: 3,
supportedModes: ['timespan', 'navigation'],
requiredArtifacts: ['URL', 'devtoolsLogs', 'traces', 'GatherContext'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/dobetterweb/uses-passive-event-listeners.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class PassiveEventsAudit extends ViolationAudit {
title: str_(UIStrings.title),
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
guidanceLevel: 3,
requiredArtifacts: ['ConsoleMessages', 'SourceMaps', 'Scripts'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/font-display.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class FontDisplay extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 3,
requiredArtifacts: ['devtoolsLogs', 'CSSUsage', 'URL'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/largest-contentful-paint-element.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class LargestContentfulPaintElement extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
guidanceLevel: 1,
supportedModes: ['navigation'],
requiredArtifacts:
['traces', 'TraceElements', 'devtoolsLogs', 'GatherContext', 'settings', 'URL'],
Expand Down
1 change: 1 addition & 0 deletions core/audits/layout-shift-elements.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class LayoutShiftElements extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
guidanceLevel: 2,
requiredArtifacts: ['traces', 'TraceElements'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/lcp-lazy-loaded.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class LargestContentfulPaintLazyLoaded extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 3,
requiredArtifacts: ['TraceElements', 'ViewportDimensions', 'ImageElements',
'traces', 'devtoolsLogs', 'GatherContext', 'URL'],
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/long-tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ class LongTasks extends Audit {
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
title: str_(UIStrings.title),
description: str_(UIStrings.description),
guidanceLevel: 1,
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/mainthread-work-breakdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class MainThreadWorkBreakdown extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
guidanceLevel: 1,
requiredArtifacts: ['traces'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/non-composited-animations.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ class NonCompositedAnimations extends Audit {
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
title: str_(UIStrings.title),
description: str_(UIStrings.description),
guidanceLevel: 2,
requiredArtifacts: ['TraceElements', 'HostUserAgent'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/prioritize-lcp-image.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ class PrioritizeLcpImage extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 3,
requiredArtifacts: ['traces', 'devtoolsLogs', 'GatherContext', 'URL', 'TraceElements'],
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/redirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ class Redirects extends Audit {
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
supportedModes: ['navigation'],
guidanceLevel: 2,
requiredArtifacts: ['URL', 'GatherContext', 'devtoolsLogs', 'traces'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/server-response-time.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class ServerResponseTime extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 1,
requiredArtifacts: ['devtoolsLogs', 'URL', 'GatherContext'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/third-party-facades.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ class ThirdPartyFacades extends Audit {
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 3,
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/third-party-summary.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ class ThirdPartySummary extends Audit {
title: str_(UIStrings.title),
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
guidanceLevel: 1,
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/unsized-images.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class UnsizedImages extends Audit {
title: str_(UIStrings.title),
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
guidanceLevel: 3,
requiredArtifacts: ['ImageElements'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/user-timings.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class UserTimings extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
guidanceLevel: 2,
requiredArtifacts: ['traces'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/uses-rel-preconnect.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class UsesRelPreconnectAudit extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 3,
requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'LinkElements'],
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/uses-rel-preload.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class UsesRelPreloadAudit extends Audit {
title: str_(UIStrings.title),
description: str_(UIStrings.description),
supportedModes: ['navigation'],
guidanceLevel: 3,
requiredArtifacts: ['devtoolsLogs', 'traces', 'URL'],
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
};
Expand Down
1 change: 1 addition & 0 deletions core/audits/viewport.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class Viewport extends Audit {
title: str_(UIStrings.title),
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
guidanceLevel: 3,
requiredArtifacts: ['MetaElements'],
};
}
Expand Down
1 change: 1 addition & 0 deletions core/audits/work-during-interaction.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class WorkDuringInteraction extends Audit {
description: str_(UIStrings.description),
scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
supportedModes: ['timespan'],
guidanceLevel: 1,
requiredArtifacts: ['traces', 'devtoolsLogs', 'TraceElements'],
};
}
Expand Down
2 changes: 2 additions & 0 deletions types/audit.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ declare module Audit {
scoreDisplayMode?: AuditResult.ScoreDisplayMode;
/** A list of gather modes that this audit is applicable to. */
supportedModes?: Gatherer.GatherMode[],
/** A number indicating how much guidance Lighthouse provides to solve the problem in this audit on a 1-3 scale. Higher means more guidance. */
guidanceLevel?: number;
}

interface ByteEfficiencyItem extends AuditDetails.OpportunityItem {
Expand Down
Loading