A modern load testing tool, using Go and JavaScript
This report presents the forensic synthetic code analysis of grafana/k6, a Go project with 31,012 GitHub stars. SynthScan v2.0 examined 233,989 lines of code across 1180 source files, recording 367 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 2.3 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 367 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/bin/generate_index.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | packaging/bin/create-rpm-repo.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/bin/entrypoint.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/bin/create-deb-repo.sh | 1 | #!/bin/bash | COMMENT |
| LOW | metrics/tags.go | 21 | // values for map indexes and caching. | COMMENT |
| LOW | metrics/tags.go | 41 | // existing TagSet except the one with the given key. | COMMENT |
| LOW | metrics/tags.go | 121 | json.Marshaler | COMMENT |
| LOW | metrics/package.go | 1 | // Package metrics contains various k6 components that deal with metrics and | COMMENT |
| LOW | metrics/thresholds_parser.go | 21 | // in the event it is a percentile. For instance: an expression of the form p(99.9) < 200, | COMMENT |
| LOW | metrics/thresholds_parser.go | 41 | // expression ("p(somefloatingpointvalue)"), we need to handle this | COMMENT |
| LOW | metrics/thresholds_parser.go | 61 | // aggregation_method -> trend | rate | gauge | counter | COMMENT |
| LOW | cmd/state/doc.go | 1 | // Package state contains the types and functionality used for keeping track of | COMMENT |
| LOW | cmd/state/state.go | 41 | COMMENT | |
| LOW | js/promises/promises.go | 1 | // Package promises provides helpers for working with promises in k6. | COMMENT |
| LOW | js/common/initenv.go | 21 | // GetAbsFilePath should be used to access the FileSystems, since afero has a | COMMENT |
| LOW | js/modulestest/runtime.go | 81 | goModules, loader, c, r.VU.InitEnvField.CWD, r.VU.InitEnvField.Usage, r.VU.InitEnvField.Logger) | COMMENT |
| LOW | js/modules/modules.go | 41 | // VU gives access to the currently executing VU to a module Instance | COMMENT |
| LOW | release notes/v0.55.0.md | 141 | // You can call metric.tag multiple times within the callback function. | COMMENT |
| LOW | secretsource/doc.go | 1 | // Package secretsource is a package to provide secret source interface and common functionality | COMMENT |
| LOW | internal/cmd/test_load.go | 321 | // because they are already built into the binary. Step 1 misses those. | COMMENT |
| LOW | internal/cmd/subcommand.go | 21 | // | COMMENT |
| LOW | internal/cmd/tests/cmd_cloud_run_test.go | 41 | // } | COMMENT |
| LOW | internal/cmd/tests/cmd_cloud_upload_test.go | 41 | cmd.ExecuteWithGlobalState(ts.GlobalState) | COMMENT |
| LOW | internal/cmd/tests/doc.go | 1 | // Package tests contains integration tests that run k6 commands, and interact | COMMENT |
| LOW | internal/cmd/tests/cmd_run_test.go | 2421 | }, | COMMENT |
| LOW | internal/ds/histogram/hdr.go | 21 | // Hdr represents a distribution of metrics samples' values as histogram. | COMMENT |
| LOW | internal/ds/histogram/hdr.go | 121 | // distribution (2^7=128 primary buckets of which each can be further | COMMENT |
| LOW | internal/ds/histogram/hdr.go | 141 | // the "sub" bucket within that major bucket. This system provides us with a fine level | COMMENT |
| LOW | internal/js/runner.go | 561 | } | COMMENT |
| LOW | internal/js/summary.go | 21 | var jslibSummaryCode string | COMMENT |
| LOW | internal/js/eventloop/eventloop.go | 61 | // asynchronous work off the main thread and that you may need to execute some | COMMENT |
| LOW | internal/js/eventloop/eventloop.go | 81 | // scenario has ended). Any error returned by any callback on the main thread | COMMENT |
| LOW | internal/js/eventloop/eventloop.go | 101 | // resolve(result) | COMMENT |
| LOW | …s/modules/k6/experimental/streams/underlying_source.go | 21 | // PullFunc is a function that is called whenever the stream's internal queue of chunks | COMMENT |
| LOW | …s/modules/k6/experimental/streams/underlying_source.go | 41 | Cancel sobek.Value `json:"cancel"` | COMMENT |
| LOW | …experimental/streams/readable_stream_default_reader.go | 101 | // | COMMENT |
| LOW | …ules/k6/experimental/streams/readable_stream_reader.go | 21 | // ReadableStreamGenericReader defines common internal getters/setters | COMMENT |
| LOW | …rimental/streams/readable_stream_default_controller.go | 321 | COMMENT | |
| LOW | …rimental/streams/readable_stream_default_controller.go | 361 | // | COMMENT |
| LOW | internal/js/modules/k6/experimental/streams/errors.go | 21 | throw(rt, newError(kind, message)) | COMMENT |
| LOW | internal/js/modules/k6/experimental/csv/reader.go | 21 | // options holds the reader's options. | COMMENT |
| LOW | internal/js/modules/k6/experimental/csv/module.go | 301 | ToLine null.Int `js:"toLine"` | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/cache_test.go | 61 | // | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/cache.go | 21 | // already caches the content of the files it opens. However, the current implementation of | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/cache.go | 41 | type cache struct { | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/cache.go | 61 | // If the file was previously "opened" (and thus cached), it | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/module.go | 181 | type File struct { | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/errors.go | 41 | COMMENT | |
| LOW | internal/js/modules/k6/browser/k6ext/k6test/vu.go | 61 | } | COMMENT |
| LOW | internal/js/modules/k6/browser/trace/trace.go | 81 | // TraceNavigation is only to be used when a frame has navigated. | COMMENT |
| LOW | …nal/js/modules/k6/browser/tests/lifecycle_wait_test.go | 21 | // Remove the promises. We don't need them anymore. | COMMENT |
| LOW | …nal/js/modules/k6/browser/tests/lifecycle_wait_test.go | 41 | // 1. The HTML is loaded. | COMMENT |
| LOW | …al/js/modules/k6/browser/tests/network_manager_test.go | 181 | // the page's response body won't be available yet due to request | COMMENT |
| LOW | internal/js/modules/k6/browser/tests/test_browser.go | 61 | COMMENT | |
| LOW | internal/js/modules/k6/browser/tests/test_browser.go | 141 | COMMENT | |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 461 | return true; | COMMENT |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2941 | // | COMMENT |
| LOW | internal/js/modules/k6/browser/chromium/browser_type.go | 161 | // which can be used for controlling the Chrome browser. | COMMENT |
| LOW | internal/js/modules/k6/browser/browser/registry.go | 261 | for e := range eventsCh { | COMMENT |
| LOW | internal/js/modules/k6/browser/common/frame.go | 421 | // to the actual destination for the iframe; | COMMENT |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | js/modules/k6/html/elements_gen_test.go | 171 | {"input7", "placeholder", "help text"}, | CODE |
| LOW⚡ | js/modules/k6/html/serialize_test.go | 16 | <h1 id="top" data-test="dataval" data-num-a="123" data-num-b="1.5" data-not-num-a="1.50" data-not-num-b="1.1e02">Lorem | CODE |
| LOW⚡ | js/modules/k6/html/serialize_test.go | 17 | <p data-test-b="true" data-opts='{"id":101}' data-test-empty="">Lorem ipsum dolor sit amet, consectetur adipiscing elit | CODE |
| LOW⚡ | js/modules/k6/html/serialize_test.go | 17 | <p data-test-b="true" data-opts='{"id":101}' data-test-empty="">Lorem ipsum dolor sit amet, consectetur adipiscing elit | CODE |
| LOW | js/modules/k6/html/serialize_test.go | 36 | <textarea id="textarea" name="textarea" multiple>Lorem ipsum dolor sit amet</textarea> | CODE |
| LOW | js/modules/k6/html/serialize_test.go | 36 | <textarea id="textarea" name="textarea" multiple>Lorem ipsum dolor sit amet</textarea> | CODE |
| LOW | js/modules/k6/html/serialize_test.go | 86 | assert.Equal(t, "Lorem ipsum dolor sit amet", arr[6].Value.String()) | CODE |
| LOW | js/modules/k6/html/serialize_test.go | 86 | assert.Equal(t, "Lorem ipsum dolor sit amet", arr[6].Value.String()) | CODE |
| LOW | js/modules/k6/html/serialize_test.go | 150 | assert.Equal(t, "Lorem ipsum dolor sit amet", obj["textarea"].String()) | CODE |
| LOW | js/modules/k6/html/serialize_test.go | 150 | assert.Equal(t, "Lorem ipsum dolor sit amet", obj["textarea"].String()) | CODE |
| LOW | js/modules/k6/html/elements_gen.go | 586 | return i.attrAsString("placeholder") | CODE |
| LOW | js/modules/k6/html/elements_gen.go | 1035 | return t.attrAsString("placeholder") | CODE |
| LOW⚡ | js/modules/k6/html/html_test.go | 23 | <h1 id="top" data-test="dataval" data-num-a="123" data-num-b="1.5" data-not-num-a="1.50" data-not-num-b="1.1e02">Lorem | CODE |
| LOW⚡ | js/modules/k6/html/html_test.go | 25 | <p data-test-b="true" data-opts='{"id":101}' data-test-empty="">Lorem ipsum dolor sit amet, consectetur adipiscing elit | CODE |
| LOW⚡ | js/modules/k6/html/html_test.go | 25 | <p data-test-b="true" data-opts='{"id":101}' data-test-empty="">Lorem ipsum dolor sit amet, consectetur adipiscing elit | CODE |
| LOW | js/modules/k6/html/html_test.go | 43 | <textarea id="textarea" name="textarea" multiple>Lorem ipsum dolor sit amet</textarea> | CODE |
| LOW | js/modules/k6/html/html_test.go | 43 | <textarea id="textarea" name="textarea" multiple>Lorem ipsum dolor sit amet</textarea> | CODE |
| LOW | js/modules/k6/html/html_test.go | 128 | assert.Equal(t, "Lorem ipsum", sel.Text()) | CODE |
| LOW | js/modules/k6/html/html_test.go | 142 | assert.Equal(t, "Lorem ipsum dolor", text[:17]) | CODE |
| LOW⚡ | js/modules/k6/html/html_test.go | 181 | assert.Equal(t, "Lorem ipsumThis is the footer.", sel.Text()) | CODE |
| LOW⚡ | js/modules/k6/html/html_test.go | 189 | assert.Equal(t, "Lorem ipsumThis is the footer.", sel.Text()) | CODE |
| LOW⚡ | js/modules/k6/html/html_test.go | 199 | assert.Equal(t, "Lorem ipsum", v.Export()) | CODE |
| LOW | js/modules/k6/html/html_test.go | 236 | assert.Equal(t, "Lorem ipsum", v.Export()) | CODE |
| LOW | js/modules/k6/html/html_test.go | 279 | assert.Equal(t, "Lorem ipsum dolor sit amet", v.Export()) | CODE |
| LOW | js/modules/k6/html/html_test.go | 279 | assert.Equal(t, "Lorem ipsum dolor sit amet", v.Export()) | CODE |
| LOW | js/modules/k6/html/html_test.go | 356 | v, err := rt.RunString(`doc.find("h1").is(function(idx, val){ return val.text() == "Lorem ipsum" })`) | CODE |
| LOW | js/modules/k6/html/html_test.go | 838 | assert.Contains(t, sel.Text(), "Lorem ipsum dolor") | CODE |
| LOW | js/modules/k6/html/html_test.go | 869 | assert.Contains(t, elem.InnerHTML().Export(), "Lorem ipsum dolor sit amet") | CODE |
| LOW | js/modules/k6/html/html_test.go | 869 | assert.Contains(t, elem.InnerHTML().Export(), "Lorem ipsum dolor sit amet") | CODE |
| LOW | js/modules/k6/html/html_test.go | 892 | assert.Contains(t, arr[0].sel.Text(), "Lorem ipsum dolor sit amet") | CODE |
| LOW | js/modules/k6/html/html_test.go | 892 | assert.Contains(t, arr[0].sel.Text(), "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | js/modules/k6/html/element_test.go | 16 | <h1 id="top">Lorem ipsum</h1> | CODE |
| LOW⚡ | js/modules/k6/html/element_test.go | 18 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> | CODE |
| LOW⚡ | js/modules/k6/html/element_test.go | 18 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> | CODE |
| LOW⚡ | js/modules/k6/html/element_test.go | 19 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> | CODE |
| LOW⚡ | js/modules/k6/html/element_test.go | 19 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> | CODE |
| LOW | js/modules/k6/html/element_test.go | 60 | assert.Equal(t, "Lorem ipsum", v.String()) | CODE |
| LOW | js/modules/k6/html/gen/gen_elements.go | 193 | {"InputElement", "Placeholder", "placeholder", stringTemplate, nil}, | CODE |
| LOW | js/modules/k6/html/gen/gen_elements.go | 284 | {"TextAreaElement", "Placeholder", "placeholder", stringTemplate, nil}, | CODE |
| LOW | js/modules/k6/http/request_test.go | 1399 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW | js/modules/k6/http/request_test.go | 1399 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW | js/modules/k6/http/response_test.go | 34 | <textarea name="textarea" multiple>Lorem ipsum dolor sit amet</textarea> | CODE |
| LOW | js/modules/k6/http/response_test.go | 34 | <textarea name="textarea" multiple>Lorem ipsum dolor sit amet</textarea> | CODE |
| LOW | js/modules/k6/http/response_test.go | 388 | data.textarea[0] !== "Lorem ipsum dolor sit amet" | CODE |
| LOW | js/modules/k6/http/response_test.go | 388 | data.textarea[0] !== "Lorem ipsum dolor sit amet" | CODE |
| LOW | release notes/v1.3.0.md | 165 | await frame.getByLabel('Email').fill('user@example.com'); | CODE |
| LOW | release notes/v1.3.0.md | 174 | await paymentFrame.getByLabel('Cardholder name').fill('John Doe'); | CODE |
| LOW | release notes/v1.6.0.md | 314 | username: 'user@example.com', | CODE |
| LOW | internal/cmd/tests/cmd_cloud_run_test.go | 40 | // note: "lorem ipsum", | COMMENT |
| LOW | internal/cmd/tests/cmd_cloud_run_test.go | 48 | // "note": "lorem ipsum", | COMMENT |
| LOW | internal/cmd/tests/cmd_cloud_run_test.go | 88 | require.Equal(t, "lorem ipsum", metadata.Options.Cloud.Note) | CODE |
| LOW | internal/cmd/tests/cmd_cloud_upload_test.go | 56 | // note: "lorem ipsum", | COMMENT |
| LOW | internal/cmd/tests/cmd_cloud_upload_test.go | 64 | // "note": "lorem ipsum", | COMMENT |
| LOW | internal/cmd/tests/cmd_cloud_upload_test.go | 104 | require.Equal(t, "lorem ipsum", metadata.Options.Cloud.Note) | CODE |
| LOW | internal/cmd/tests/cmd_cloud_test.go | 160 | v6test.AbortedByUserProgress("user@example.com")) | CODE |
| LOW | internal/js/modules/k6/grpc/stream_test.go | 135 | return status.Error(codes.Internal, "lorem ipsum") | CODE |
| LOW | internal/js/modules/k6/grpc/stream_test.go | 181 | "Code: 13 Message: lorem ipsum", | CODE |
| LOW | internal/js/modules/k6/websockets/websockets_test.go | 847 | throw new Error("lorem ipsum") | CODE |
| LOW | internal/js/modules/k6/websockets/websockets_test.go | 851 | assert.Equal(t, "Error: lorem ipsum at <eval>:5:10(7)", err.Error()) | CODE |
| LOW | internal/js/modules/k6/websockets/websockets_test.go | 1224 | const text string = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed pharetra sapien. Nunc laoree | CODE |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 87 | // ┌───────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 91 | // └───────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 92 | // ┌───────────────────────────┐ │ ▲ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 95 | // │ them on incoming queue of │ ┌───────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 96 | // │ target session, as ├─────────────■ │ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 99 | // │ without a session ID are │ └───────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 102 | // └───────────────────────────┘ ▼ │ ▼ │ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 103 | // ┌───────────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 104 | // │ Handles CDP messages on ├─────────────■ │ │ │ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 107 | // │ channel of WS connection. │ └────────────────────┘ └────────────────────┘ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 108 | // └───────────────────────────┘ │ ▲ │ ▲ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 112 | // ┌───────────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 113 | // │Registers with session as a├─────────────■ │ │ │ | COMMENT |
| MEDIUM⚡ | internal/js/modules/k6/browser/common/connection.go | 116 | // └───────────────────────────┘ └────────────────────┘ └────────────────────┘ | COMMENT |
| MEDIUM | .github/scripts/check-feature-briefs.sh | 28 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/scripts/check-feature-briefs.sh | 30 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/scripts/check-feature-briefs.sh | 83 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/scripts/check-feature-briefs.sh | 85 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/scripts/check-feature-briefs.sh | 112 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/scripts/check-feature-briefs.sh | 114 | # ────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | internal/js/runner.go | 174 | dialer.LocalAddr = &net.TCPAddr{IP: r.Bundle.Options.LocalIPs.Pool.GetIP(ipIndex)} | CODE |
| CRITICAL | internal/js/runner.go | 888 | durationDiff := u.Runner.Bundle.Options.MinIterationDuration.TimeDuration() - totalTime | CODE |
| CRITICAL | internal/js/runner.go | 918 | if !u.Runner.Bundle.Options.NoCookiesReset.ValueOrZero() { | CODE |
| CRITICAL | .github/workflows/xk6-tests/xk6-test.js | 14 | 'summary-results.txt': data.metrics.foos.values.count.toString(), | CODE |
| CRITICAL | lib/executor/base_executor.go | 78 | if bs.executionState.Test.Options.SystemTags.Has(metrics.TagScenario) { | CODE |
| CRITICAL | lib/executor/base_executor.go | 81 | if vuID != nil && bs.executionState.Test.Options.SystemTags.Has(metrics.TagVU) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | js/modules/k6/http/request_test.go | 2070 | function handleResponseEncodingError (encoding) { | CODE |
| LOW | internal/js/summary-legacy.js | 173 | function toFixedNoTrailingZerosTrunc(val, prec) { | CODE |
| LOW | internal/js/summary-legacy.js | 235 | function nonTrendMetricValueForSum(metric, timeUnit) { | CODE |
| LOW | internal/js/summary.js | 966 | function renderMetricNameForThresholds( | CODE |
| LOW | internal/js/summary.js | 992 | function renderMetricValueForThresholds( | CODE |
| LOW | internal/js/summary.js | 1375 | function toFixedNoTrailingZerosTrunc(val, prec) { | CODE |
| LOW | internal/js/summary.js | 1448 | function nonTrendMetricValueForSum(metric, timeUnit) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 644 | function defineKeyPropWarningGetter(props, displayName) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 662 | function defineRefPropWarningGetter(props, displayName) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 680 | function warnIfStringRefCannotBeAutoConverted(config) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 1765 | function describeBuiltInComponentFrame(name, source, ownerFn) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 1789 | function describeNativeComponentFrame(fn, construct) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 1948 | function describeFunctionComponentFrame(fn, source, ownerFn) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 1959 | function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2012 | function setCurrentlyValidatingElement(element) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2091 | function getDeclarationErrorAddendum() { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2103 | function getSourceInfoErrorAddendum(source) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2113 | function getSourceInfoErrorAddendumForProps(elementProps) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2129 | function getCurrentComponentErrorInfo(parentType) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2311 | function createElementWithValidation(type, props, children) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2375 | function createFactoryWithValidation(type) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 2402 | function cloneElementWithValidation(element, props, children) { | CODE |
| LOW | …s/modules/k6/browser/tests/static/react.development.js | 3239 | function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 59 | function parentElementOrShadowHost(element) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 67 | function enclosingShadowRootOrDocument(element) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 92 | function isElementStyleVisibilityVisible(element, style) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 121 | function hasExplicitAccessibleName(e) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 388 | function hasPresentationConflictResolution(element, role) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 427 | function belongsToDisplayNoneOrAriaHiddenOrNonSlotted(element) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 510 | function getAriaLabelledByElements(element) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 539 | function getTextAlternativeInternal(element, options) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 764 | function innerAccumulatedElementText(element, options) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 873 | function belongsToDisabledFieldSet(element) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 893 | function getAccessibleNameFromAssociatedLabels(labels, options) { | CODE |
| LOW | …nal/js/modules/k6/browser/common/js/injected_script.js | 1345 | function shouldSkipForTextMatching(element) { | CODE |
| LOW | internal/js/modules/k6/webcrypto/tests/util/helpers.js | 175 | function allAlgorithmSpecifiersFor(algorithmName) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/state/state.go | 60 | // the k6 codebase. This gives us the ability to mock them and have robust and | COMMENT |
| MEDIUM | internal/cmd/root.go | 66 | # Look up the JavaScript API, examples, and best practices | COMMENT |
| MEDIUM | internal/ds/histogram/hdr.go | 15 | // Essentially, it excludes negative numbers. | COMMENT |
| MEDIUM | internal/js/initcontext_test.go | 428 | // A more robust version of this polyfill is available here: | COMMENT |
| MEDIUM | internal/js/modules/k6/experimental/fs/module.go | 190 | // from other modules that would want to leverage its implementation of | COMMENT |
| MEDIUM | internal/js/modules/k6/browser/common/element_handle.go | 834 | // TODO: look into making more robust using retries | COMMENT |
| MEDIUM | internal/js/modules/k6/webcrypto/subtle_crypto.go | 714 | // a `CryptoKey` object rather than an ArrayBuffer. Essentially `SubtleCrypto.DeriveKey` is composed | COMMENT |
| MEDIUM | internal/output/summary/summary.go | 104 | return // Essentially skip samples tagged with group: setup/teardown. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packaging/bin/create-rpm-repo.sh | 86 | # Create the RPM repository package if it doesn't exist already. | COMMENT |
| MEDIUM⚡ | internal/cmd/new.go | 102 | # Create a new k6 script with the default template | COMMENT |
| MEDIUM⚡ | internal/cmd/new.go | 111 | # Create a script using a specific template | COMMENT |
| MEDIUM⚡ | internal/cmd/new.go | 114 | # Create a cloud-ready script with a specific project ID | COMMENT |
| MEDIUM | internal/cmd/root.go | 53 | # Create a test | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | internal/cmd/cloud_login.go | 41 | $ {{.}} cloud login -t <YOUR_TOKEN> --stack <YOUR_STACK_URL_OR_SLUG> | CODE |
| HIGH | internal/cmd/tests/cmd_run_test.go | 160 | containsOutput: fmt.Sprintf("%s cloud login -t <YOUR_TOKEN>", ts.BinaryName), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/cmd/test_load.go | 337 | // Step 1: modules that failed to load. | COMMENT |
| LOW⚡ | internal/cmd/test_load.go | 348 | // Step 2: all k6/x/ imports, registered or not. | COMMENT |
| LOW⚡ | internal/cmd/test_load.go | 357 | // Step 3: explicit version constraints from "use k6" directives in script files. | COMMENT |
| LOW | internal/js/modules/k6/experimental/fs/module.go | 267 | // If the read operation failed, we need to check if it was an io.EOF error | COMMENT |
| LOW | internal/js/modules/k6/browser/tests/page_test.go | 2610 | // We need to check if the response is JSON before calling json() | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | internal/output/prometheusrw/remotewrite/trend.go | 239 | // as requested by the Prometheus convention. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/cmd/test_load.go | 337 | // Step 1: modules that failed to load. | COMMENT |
| LOW⚡ | internal/cmd/test_load.go | 348 | // Step 2: all k6/x/ imports, registered or not. | COMMENT |
| LOW⚡ | internal/cmd/test_load.go | 357 | // Step 3: explicit version constraints from "use k6" directives in script files. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/js/modules/k6/browser/browser/mapping_test.go | 52 | // to the module. This is to ensure that we don't forget to map | COMMENT |
| MEDIUM | …se/opentelemetry/grafana/dashboards/k6-prometheus.json | 1937 | "content": "### Visualize other k6 results \n\nAt the top of the dashboard, click `Add` and select `Visualizati | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/bin/generate_index.py | 50 | except Exception as e: | CODE |
| LOW | packaging/bin/generate_index.py | 380 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/summary-code-generation.yml | 42 | # Check if there are any changes in the Git working directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/check-feature-briefs.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/bin/generate_index.py | 36 | CODE |