go.goldmine.build

module
v0.0.0-...-8da58fe Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2026 License: BSD-3-Clause

README

[[FORK]] This is a fork of the Skia Buildbot repo reset back to June of 2024

Skia-Buildbot Repository

This repo contains infrastructure code for Skia.

Getting the Source Code

The main source code repository is a Git repository hosted at https://github.com/jcgregorio/goldmine.

Install dependencies

Install Go first. Almost all applications are built with Bazel, and bazelisk is the recommended tool to ensure you have the right version of bazel installed:

go install github.com/bazelbuild/bazelisk@latest
go install github.com/bazelbuild/buildtools/buildifier@latest
go install github.com/kisielk/errcheck@latest
go install golang.org/x/tools/cmd/goimports@latest
go install github.com/mikefarah/yq/v4@latest
go install go.chromium.org/luci/client/cmd/...@latest

Install other dependencies:

sudo apt-get install jq default-jre

Build ~everything

bazelisk build --config=mayberemote //...

Test everything

bazelisk test --config=mayberemote //...

Generated Code

To update generated code run the following in any directory:

go generate ./...

Running unit tests

Install Cloud SDK.

Use this command to run the presubmit tests:

./run_unittests --small

VS Code Setup

Use bazelisk and starpls with the VS Code Bazel extension. The install for bazelisk is listed above, and starpls can be downloaded from:

https://github.com/withered-magic/starpls/releases
    "bazel.executable": "bazelisk",
    "bazel.enableCodeLens": true,
    "bazel.lsp.command": "starpls"

Directories

Path Synopsis
android_stats
api
go/api command
bazel
gazelle/frontend/common
Package common contains any code used by two or more packages.
Package common contains any code used by two or more packages.
gazelle/frontend/parsers
Package parsers defines parsers for the paths of "import" statements found in TypeScript and Sass files.
Package parsers defines parsers for the paths of "import" statements found in TypeScript and Sass files.
go/bazel
Package bazel contains utilities for Go tests running under Bazel.
Package bazel contains utilities for Go tests running under Bazel.
open_ar command
test_on_env command
test_on_env/examples command
Example environment for the test_on_env Bazel rule.
Example environment for the test_on_env Bazel rule.
blamer
go/blamer command
blamer searches through git history and does text searches on the full patch text and the commit message.
blamer searches through git history and does text searches on the full patch text and the commit message.
ci
cmd/github_webhook command
Application that accepts github webhook events and then queues the appropriate work to Temporal for CI.
Application that accepts github webhook events and then queues the appropriate work to Temporal for CI.
cmd/workflow command
go
cmd
presubmit command
The presubmit binary runs many checks on the differences between the current commit and its parent branch.
The presubmit binary runs many checks on the differences between the current commit and its parent branch.
codesize
go/common
This package contains data structures shared between the CodeSize web server and the CodeSize-* tasks in the Skia repository.
This package contains data structures shared between the CodeSize web server and the CodeSize-* tasks in the Skia repository.
go/ts command
comments
go/extract
Package extract pulls comments and other useful info out of GM .cpp files.
Package extract pulls comments and other useful info out of GM .cpp files.
go/extract_comments command
extract_comments is a command-line application to extract comments for GMs from C++ source code and consolidate them into a single JSON file.
extract_comments is a command-line application to extract comments for GMs from C++ source code and consolidate them into a single JSON file.
demos
go/demoserver command
go/generate command
elements-sk
generate_icons command
This program generates custom elements for various SVG icons found in the material-design-icons NPM package (https://github.com/google/material-design-icons).
This program generates custom elements for various SVG icons found in the material-design-icons NPM package (https://github.com/google/material-design-icons).
email
go/emailclient
Package emailclient is a client for talking to emailservice.
Package emailclient is a client for talking to emailservice.
fiddlek
go/fiddle command
fiddle is the web server for fiddle.
fiddle is the web server for fiddle.
go/fiddlecli command
Command line app to process fiddles in bulk.
Command line app to process fiddles in bulk.
go/fiddler command
Compiles a fiddle and then runs the fiddle.
Compiles a fiddle and then runs the fiddle.
go/named
named is a utility for dealing with named fiddles.
named is a utility for dealing with named fiddles.
go/runner
Functions for the last mile of a fiddle, i.e.
Functions for the last mile of a fiddle, i.e.
go/smoketest command
Does a simple sanity check on a locally running fiddler.
Does a simple sanity check on a locally running fiddler.
go/source
Keeps a cache of all the source image thumbnails.
Keeps a cache of all the source image thumbnails.
go/store
Package store stores and retrieves fiddles and associated assets in Google Storage.
Package store stores and retrieves fiddles and associated assets in Google Storage.
go/ts command
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
get_service_account
go/get_service_account command
Runs "gcloud compute project-info describe --format=json" and parses the output to find the 'jwt_service_account' metadata, which is then written to a local file "service-account.json".
Runs "gcloud compute project-info describe --format=json" and parses the output to find the 'jwt_service_account' metadata, which is then written to a local file "service-account.json".
go
alogin
Package alogin defines the Login interface for handling login in web applications.
Package alogin defines the Login interface for handling login in web applications.
alogin/proxylogin
Package proxylogin implements alogin.Login when letting a reverse proxy handle authentication.
Package proxylogin implements alogin.Login when letting a reverse proxy handle authentication.
android_skia_checkout
android_skia_checkout contains util methods for interacting with the Skia repository within Android.
android_skia_checkout contains util methods for interacting with the Skia repository within Android.
androidbuild
androidbuild implements a simple interface to look up skia git commit hashes from android buildIDs.
androidbuild implements a simple interface to look up skia git commit hashes from android buildIDs.
androidbuildinternal/v2beta1
Package androidbuildinternal provides access to the .
Package androidbuildinternal provides access to the .
calc
Lexer and parser for expressions of the form:
Lexer and parser for expressions of the form:
chatbot
chatbot is a package for creating chatbots that interact via webhooks.
chatbot is a package for creating chatbots that interact via webhooks.
codesearch
Package codesearch wraps up the codesearch JSON API.
Package codesearch wraps up the codesearch JSON API.
common
Common tool initialization.
Common tool initialization.
emulators
Package emulators contains functions to start and stop emulators, and utilities to work with the various *_EMULATOR_HOST environment variables.
Package emulators contains functions to start and stop emulators, and utilities to work with the various *_EMULATOR_HOST environment variables.
ephemeral_storage
Package ephemeral_storage has utilities for logging ephemeral (/tmp) disk usage.
Package ephemeral_storage has utilities for logging ephemeral (/tmp) disk usage.
exec
Package exec is a wrapper around the os/exec package that supports timeouts and testing.
Package exec is a wrapper around the os/exec package that supports timeouts and testing.
executil
Package executil provides a mostly transparent way to make os/exec testable.
Package executil provides a mostly transparent way to make os/exec testable.
gce
gce/ct command
gce/swarming command
gcr
Client for interacting with the Google Container Registry.
Client for interacting with the Google Container Registry.
gcs
gerrit/rubberstamper
Package rubberstamper contains some utilities for having the RubberStamper bot automatically submit a CL.
Package rubberstamper contains some utilities for having the RubberStamper bot automatically submit a CL.
git
git/gitinfo
Package gitinfo enables querying info from Git repository using git and a local checkout.
Package gitinfo enables querying info from Git repository using git and a local checkout.
git/provider
Package provider contains types and interfaces for interacting with Git repos.
Package provider contains types and interfaces for interacting with Git repos.
git/provider/providers
Package providers builds different kinds of provider.Provider.
Package providers builds different kinds of provider.Provider.
git/provider/providers/git_checkout
Package git_checkout implements provider.Provider by shelling out to run git commands.
Package git_checkout implements provider.Provider by shelling out to run git commands.
git/provider/providers/gitiles
Package gitiles imlements provider.Provider using the Gitiles API.
Package gitiles imlements provider.Provider using the Gitiles API.
gitauth
A Go implementation of https://gerrit.googlesource.com/gcompute-tools/+show/master/git-cookie-authdaemon
A Go implementation of https://gerrit.googlesource.com/gcompute-tools/+show/master/git-cookie-authdaemon
go2ts
Package go2ts is an extremely simple and powerful Go to TypeScript generator.
Package go2ts is an extremely simple and powerful Go to TypeScript generator.
go2ts/typescript
Package typescript provides primitives to represent TypeScript types, and type declarations.
Package typescript provides primitives to represent TypeScript types, and type declarations.
gpus
Package gpus provides a table of GPU vendor information, ported from Swarming: https://github.com/luci/luci-py/blob/887c873be30051f382da8b6aa8076a7467c80388/appengine/swarming/swarming_bot/api/platforms/gpu.py https://github.com/luci/luci-py/blob/887c873be30051f382da8b6aa8076a7467c80388/appengine/swarming/swarming_bot/api/platforms/win.py#L405
Package gpus provides a table of GPU vendor information, ported from Swarming: https://github.com/luci/luci-py/blob/887c873be30051f382da8b6aa8076a7467c80388/appengine/swarming/swarming_bot/api/platforms/gpu.py https://github.com/luci/luci-py/blob/887c873be30051f382da8b6aa8076a7467c80388/appengine/swarming/swarming_bot/api/platforms/win.py#L405
grpcsp
Package grpcsp implements grpc server interceptors to apply role-based access control to a grpc service.
Package grpcsp implements grpc server interceptors to apply role-based access control to a grpc service.
human
Package human provides human friendly display formats.
Package human provides human friendly display formats.
issues/issues_helper command
issues_helper is a simple command-line application for the monorail issue tracker.
issues_helper is a simple command-line application for the monorail issue tracker.
issuetracker command
Application that requests the issuetracker Discovery document.
Application that requests the issuetracker Discovery document.
issuetracker/v1
Package issuetracker provides access to the Google Issue Tracker API.
Package issuetracker provides access to the Google Issue Tracker API.
jsonschema
Package jsonschema has utility functions for creating JSON Schema files from structs, and also for validating a JSON file against a schema.
Package jsonschema has utility functions for creating JSON Schema files from structs, and also for validating a JSON file against a schema.
k8s
kube/clusterconfig
Package clusterconfig contains helper functions for dealing with the configuration of all Skia Infra k8s clusters.
Package clusterconfig contains helper functions for dealing with the configuration of all Skia Infra k8s clusters.
loggingsyncbuffer
Package loggingsyncbuffer contains a SyncWriter that writes to a buffer.
Package loggingsyncbuffer contains a SyncWriter that writes to a buffer.
login
Package login handles logging in users.
Package login handles logging in users.
metrics2
metrics2 is a client library for recording and reporting monitoring data.
metrics2 is a client library for recording and reporting monitoring data.
monorail/v1
Package monorail provides access to the .
Package monorail provides access to the .
netutils
Package netutils contains utilities to work with ports and URLs.
Package netutils contains utilities to work with ports and URLs.
now
Package now provides a function to return the current time that is also easily overridden for testing.
Package now provides a function to return the current time that is also easily overridden for testing.
packages
packages is utilities for working with Debian packages and package lists.
packages is utilities for working with Debian packages and package lists.
paramtools
Package paramtools provides Params and ParamSet.
Package paramtools provides Params and ParamSet.
prom
Package prom has functions for Prometheus.
Package prom has functions for Prometheus.
prom/crd
Package crd handles Managed Prometheus Custom Resource Definitions.
Package crd handles Managed Prometheus Custom Resource Definitions.
pubsub
Package pubsub contains utilities for working with Cloud PubSub.
Package pubsub contains utilities for working with Cloud PubSub.
pubsub/sub
Package sub creates PubSub subscriptions.
Package sub creates PubSub subscriptions.
query
Package query provides tools for searching over structured keys.
Package query provides tools for searching over structured keys.
reconnectingmemcached
Package reconnectingmemcached contains a wrapper around a general memcache client.
Package reconnectingmemcached contains a wrapper around a general memcache client.
revportforward
Package revportforward establishes a reverse port-forward from a kubernetes pod to localhost.
Package revportforward establishes a reverse port-forward from a kubernetes pod to localhost.
roles
Package roles are part of the Skia Infra Authorization system.
Package roles are part of the Skia Infra Authorization system.
rotations
Package rotations provides helpers for sheriff/trooper rotations.
Package rotations provides helpers for sheriff/trooper rotations.
serial
Package to define an interface to mirror github.com/tarm/serial/Port.
Package to define an interface to mirror github.com/tarm/serial/Port.
sets
Package sets provides functions for operations on sets.
Package sets provides functions for operations on sets.
sklog/nooplogging
Package nooplogging has an sklogimpl.Logger that does no logging.
Package nooplogging has an sklogimpl.Logger that does no logging.
sklog/stdlogging
Package stdlogging implements sklogimpl.Logger and logs to either stderr or stdout.
Package stdlogging implements sklogimpl.Logger and logs to either stderr or stdout.
sql/pool
Package pool contains an interface for pgxpool.Pool.
Package pool contains an interface for pgxpool.Pool.
sql/pool/wrapper/timeout
Package timeout provides a wrapper for pool.Pool that confirms every passed in context.Context has a timeout.
Package timeout provides a wrapper for pool.Pool that confirms every passed in context.Context has a timeout.
sql/schema
Package schema enables checking the schema, both columns and indexes, of a database.
Package schema enables checking the schema, both columns and indexes, of a database.
sql/schema/exportschema
Package exportschema contains a re-usable Main function that exports an SQL schema as a JSON seriailized schema.Description.
Package exportschema contains a re-usable Main function that exports an SQL schema as a JSON seriailized schema.Description.
sser
Package sser allows handling Server-Sent Events (SSE) connections from across kubernetes Pod replicas, for example a Deployment or a StatefulSet, and also allows sending events from any of those Pods to all clients listening on a stream regardless of which Pod they are connected to.
Package sser allows handling Server-Sent Events (SSE) connections from across kubernetes Pod replicas, for example a Deployment or a StatefulSet, and also allows sending events from any of those Pods to all clients listening on a stream regardless of which Pod they are connected to.
sser/example command
tar
testutils
Package testutils contains convenience utilities for testing.
Package testutils contains convenience utilities for testing.
timer
timer makes timing operations easier.
timer makes timing operations easier.
tracing
Package tracing consolidates the setup logic for using opencensus tracing and exporting the metrics to https://cloud.google.com/trace.
Package tracing consolidates the setup logic for using opencensus tracing and exporting the metrics to https://cloud.google.com/trace.
tracing/loggingtracer
Package loggingtracer provides a trace.Tracer that wraps trace.DefaultTracer and logs span starts/ends and durations.
Package loggingtracer provides a trace.Tracer that wraps trace.DefaultTracer and logs span starts/ends and durations.
tracing/tracingtest
Package tracingtest provides helpers for testing opencensus tracing instrumentation.
Package tracingtest provides helpers for testing opencensus tracing instrumentation.
untar
Package untar untars a tarball to disk.
Package untar untars a tarball to disk.
urfavecli
Package urfavecli contains utility functions for working with https://github.com/urfave/cli.
Package urfavecli contains utility functions for working with https://github.com/urfave/cli.
util_generics
Package util_generics houses utility function which make us of generics.
Package util_generics houses utility function which make us of generics.
vcsinfo/testutils
Package vcsinfo/testutils contains a set of tests to test vcsinfo.VCS implementations.
Package vcsinfo/testutils contains a set of tests to test vcsinfo.VCS implementations.
vec32
Package vec32 has some basic functions on slices of float32.
Package vec32 has some basic functions on slices of float32.
vfs
webhook
Utility methods for implementing authenticated webhooks.
Utility methods for implementing authenticated webhooks.
gold-client
cmd/goldctl command
golden
cmd/baseline_server command
This program serves content that is mostly static and needs to be highly available.
This program serves content that is mostly static and needs to be highly available.
cmd/diffcalculator command
The diffcalculator processes diffs.
The diffcalculator processes diffs.
cmd/file_reingester command
Executable file_reingester will scan through all the files in a GCS bucket and create synthetic pubsub events to cause the files to be re-ingested.
Executable file_reingester will scan through all the files in a GCS bucket and create synthetic pubsub events to cause the files to be re-ingested.
cmd/gold-server command
cmd/gold_frontend command
The goldfrontend executable is the process that exposes a RESTful API used by the JS frontend.
The goldfrontend executable is the process that exposes a RESTful API used by the JS frontend.
cmd/gold_ingestion command
gold_ingestion is the server process that runs an arbitrary number of ingesters and stores them to the appropriate backends.
gold_ingestion is the server process that runs an arbitrary number of ingesters and stores them to the appropriate backends.
cmd/goldpushk command
cmd/goldpushk/goldpushk
Package goldpushk contains the Goldpushk struct, which coordinates all the operations performed by goldpushk.
Package goldpushk contains the Goldpushk struct, which coordinates all the operations performed by goldpushk.
cmd/pubsubtool command
The pubsubtool executable is a convenient way to create PubSub topics and subscriptions.
The pubsubtool executable is a convenient way to create PubSub topics and subscriptions.
cmd/sqlinit command
The sqlinit executable creates a database on the production SQL cluster with the appropriate schema.
The sqlinit executable creates a database on the production SQL cluster with the appropriate schema.
go/clstore
Package clstore defines an interface for storing Changelist-related data as needed for operating Gold.
Package clstore defines an interface for storing Changelist-related data as needed for operating Gold.
go/code_review
Package code_review defines some types for getting data into and out of Code Review Systems (e.g.
Package code_review defines some types for getting data into and out of Code Review Systems (e.g.
go/code_review/commenter
Package commenter contains an implementation of the code_review.ChangelistCommenter interface.
Package commenter contains an implementation of the code_review.ChangelistCommenter interface.
go/code_review/gerrit_crs
Package gerrit_crs provides a client for Gold's interaction with the Gerrit code review system.
Package gerrit_crs provides a client for Gold's interaction with the Gerrit code review system.
go/code_review/github_crs
Package github_crs provides a client for Gold's interaction with the GitHub code review system.
Package github_crs provides a client for Gold's interaction with the GitHub code review system.
go/continuous_integration
Package continuous_integration defines some types for getting tryjob-related data into and out of Continuous Integration Systems (e.g.
Package continuous_integration defines some types for getting tryjob-related data into and out of Continuous Integration Systems (e.g.
go/continuous_integration/simple_cis
Package simple_cis is a simple implementation of CIS that pretends every TryJob exists.
Package simple_cis is a simple implementation of CIS that pretends every TryJob exists.
go/ignore/sqlignorestore
Package sqlignorestore contains a SQL implementation of ignore.Store.
Package sqlignorestore contains a SQL implementation of ignore.Store.
go/image/text
Package text contains an image plain text file format encoder and decoder.
Package text contains an image plain text file format encoder and decoder.
go/ingestion/sqlingestionstore
Package sqlingestionstore contains a SQL-backed implementation of Store, which is meant as a quick "yes/no" to the question "Did we already ingest this file?" when polling for files missed during Pub/Sub ingestion.
Package sqlingestionstore contains a SQL-backed implementation of Store, which is meant as a quick "yes/no" to the question "Did we already ingest this file?" when polling for files missed during Pub/Sub ingestion.
go/search
Package search2 encapsulates various queries we make against Gold's data.
Package search2 encapsulates various queries we make against Gold's data.
go/search/query
Package query contains the logic involving parsing queries to Gold's search endpoints.
Package query contains the logic involving parsing queries to Gold's search endpoints.
go/services
Package services specifies all the different services the gold-server command can run.
Package services specifies all the different services the gold-server command can run.
go/sql/databuilder
Package databuilder provides a tool for generating test data in a way that is easy for a human to update and understand.
Package databuilder provides a tool for generating test data in a way that is easy for a human to update and understand.
go/sql/exporter/tosql command
This executable generates a go file that contains the SQL schema for Gold defined as a string.
This executable generates a go file that contains the SQL schema for Gold defined as a string.
go/testutils/data_one_by_five
Package data_one_by_five contains some sample images that are in the text format and are (mostly) one pixel wide by five pixels tall.
Package data_one_by_five contains some sample images that are in the text format and are (mostly) one pixel wide by five pixels tall.
go/tracing
Package tracing consolidates OpenCensus tracing initialization in one place.
Package tracing consolidates OpenCensus tracing initialization in one place.
go/web/frontend
Package frontend houses a variety of types that represent how the frontend expects the format of data.
Package frontend houses a variety of types that represent how the frontend expects the format of data.
helloworld
cmd/server command
go/ts command
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
html_insert_assets command
This program takes an HTML page and inserts <link> and <script> tags to load CSS and JavaScript files at the specified locations, with an optional "nonce" attribute with the specified value.
This program takes an HTML page and inserts <link> and <script> tags to load CSS and JavaScript files at the specified locations, with an optional "nonce" attribute with the specified value.
sk_demo_page_server command
This binary can be used to serve demo pages during development.
This binary can be used to serve demo pages during development.
jsdoc
go/jsdoc command
Serves the jsdoc's for both the elements-sk and common libraries.
Serves the jsdoc's for both the elements-sk and common libraries.
k8s-checker
go/k8s-checker command
k8s_checker is an application that checks for the following and alerts if necessary: * Dirty images checked into K8s config files.
k8s_checker is an application that checks for the following and alerts if necessary: * Dirty images checked into K8s config files.
k8s-deployer
go/k8s-deployer command
kube
clusters
Package clusters contains the current cluster config json file as an embedded string.
Package clusters contains the current cluster config json file as an embedded string.
cmd/auth-proxy command
cmd/k8s-config-presubmit command
The presubmit binary runs many checks on the differences between the current commit and its parent branch.
The presubmit binary runs many checks on the differences between the current commit and its parent branch.
go/authproxy
Package authproxy is a reverse proxy that runs in front of applications and takes care of authentication.
Package authproxy is a reverse proxy that runs in front of applications and takes care of authentication.
go/authproxy/auth
Package auth provides an interface for handling authenticated users.
Package auth provides an interface for handling authenticated users.
go/authproxy/mockedauth
package mockedauth is intended for use with local development use cases.
package mockedauth is intended for use with local development use cases.
go/expand-and-reload command
expand-and-reload is a simple app that watches for a configmap file to change and when it does it writes the file, after doing environment variable expansion, to --dst.
expand-and-reload is a simple app that watches for a configmap file to change and when it does it writes the file, after doing environment variable expansion, to --dst.
go/oauth2redirect
Package oauth2redirect is a reverse proxy that runs in front of applications and takes care of handling the oauth2 redirect leg of the OAuth 3-legged flow.
Package oauth2redirect is a reverse proxy that runs in front of applications and takes care of handling the oauth2 redirect leg of the OAuth 3-legged flow.
go/pushk command
pushk pushes a new version of an app.
pushk pushes a new version of an app.
go/secrets command
named-fiddles
A command-line application to create a new custom element of the given name in the directory 'modules'.
A command-line application to create a new custom element of the given name in the directory 'modules'.
perdiff
go/perdiff command
perf
csv2days command
Command line application to filter the output of a CSV file downloaded from Perf.
Command line application to filter the output of a CSV file downloaded from Perf.
demo command
Generates demo data to go along with the demo repo at https://github.com/skia-dev/perf-demo-repo.
Generates demo data to go along with the demo repo at https://github.com/skia-dev/perf-demo-repo.
go/alerts/alertstest
Package alertstest contains test utils for the alerts package.
Package alertstest contains test utils for the alerts package.
go/alerts/sqlalertstore
Package sqlalertstore implements alerts.Store using SQL.
Package sqlalertstore implements alerts.Store using SQL.
go/bug
bug is a package for handling bug reporting URLs.
bug is a package for handling bug reporting URLs.
go/builders
Package builders builds objects from config.InstanceConfig objects.
Package builders builds objects from config.InstanceConfig objects.
go/cache
Package cache defines an interface for an LRU cache.
Package cache defines an interface for an LRU cache.
go/cache/local
Package local implements cache.Cache with an in-memory cache.
Package local implements cache.Cache with an in-memory cache.
go/cache/memcached
Package memcached implements cache.Cache via memcached.
Package memcached implements cache.Cache via memcached.
go/config/generate command
Program to generate JSON Schema definitions for the InstanceConfig struct.
Program to generate JSON Schema definitions for the InstanceConfig struct.
go/ctrace2
ctrace makes Traces into ClusterableTraces which can then be used in kmeans.
ctrace makes Traces into ClusterableTraces which can then be used in kmeans.
go/dataframe
Package dataframe provides DataFrame which is a TraceSet with a calculated ParamSet and associated commit info.
Package dataframe provides DataFrame which is a TraceSet with a calculated ParamSet and associated commit info.
go/dfiter
Package dfiter efficiently creates dataframes used in regression detection.
Package dfiter efficiently creates dataframes used in regression detection.
go/dryrun
dryrun allows testing an Alert and seeing the regression it would find.
dryrun allows testing an Alert and seeing the regression it would find.
go/file
Package file is a source of file names and contents that contain data for Perf to ingest.
Package file is a source of file names and contents that contain data for Perf to ingest.
go/file/dirsource
Package dirsource implements the file.Source interface for filesystem directories.
Package dirsource implements the file.Source interface for filesystem directories.
go/file/gcssource
Package gcssource implements files.Source on top of Google Cloud Storage.
Package gcssource implements files.Source on top of Google Cloud Storage.
go/filestore/gcs
Package gcs implements fs.FS using Google Cloud Storage.
Package gcs implements fs.FS using Google Cloud Storage.
go/frontend
Package frontend contains the Go code that servers the Perf web UI.
Package frontend contains the Go code that servers the Perf web UI.
go/git
Package git manages a cache of git commit info that's stored in the database.
Package git manages a cache of git commit info that's stored in the database.
go/git/gittest
Package gittest has utilities for testing perf/go/git.
Package gittest has utilities for testing perf/go/git.
go/graphsshortcut
Package graphsshortcut handles storing and retrieving shortcuts for graphs.
Package graphsshortcut handles storing and retrieving shortcuts for graphs.
go/graphsshortcut/graphsshortcuttest
Package graphsshortcuttest has common code for tests of implementations of graphsshortcut.Store.
Package graphsshortcuttest has common code for tests of implementations of graphsshortcut.Store.
go/ingest/filter
Package filter implements Accept/Reject filtering of file.Names.
Package filter implements Accept/Reject filtering of file.Names.
go/ingest/format
Package format is the format for ingestion files.
Package format is the format for ingestion files.
go/ingest/format/generate command
Program to generate JSON Schema definitions for the InstanceConfig struct.
Program to generate JSON Schema definitions for the InstanceConfig struct.
go/ingest/parser
Package parser has funcs for parsing ingestion files.
Package parser has funcs for parsing ingestion files.
go/ingest/process
Package process does the whole process of ingesting files into a trace store.
Package process does the whole process of ingesting files into a trace store.
go/ingestevents
Package ingestevents is a package with helper functions for ingestion PubSub events, the ones that are sent when a file in done ingesting and received by a clusterer to trigger regression detection.
Package ingestevents is a package with helper functions for ingestion PubSub events, the ones that are sent when a file in done ingesting and received by a clusterer to trigger regression detection.
go/initdemo command
This application creates the 'demo' database on a local CockroachDB instance and also applies the latest schema.
This application creates the 'demo' database on a local CockroachDB instance and also applies the latest schema.
go/kmeans
kmeans implements a generic k-means clustering algorithm.
kmeans implements a generic k-means clustering algorithm.
go/maintenance
Package maintenance runs long running processes for a single perf instance.
Package maintenance runs long running processes for a single perf instance.
go/notify
Package notify is a package for sending notifications.
Package notify is a package for sending notifications.
go/perf-tool command
Command-line application for interacting with Perf.
Command-line application for interacting with Perf.
go/perfserver command
perfserver is the single executable that contains the sub-commands that make up a running Perf system, including the web ui, the ingestion process, and the regression detection process.
perfserver is the single executable that contains the sub-commands that make up a running Perf system, including the web ui, the ingestion process, and the regression detection process.
go/pivot
Package pivot provides the ability to pivot dataframes.
Package pivot provides the ability to pivot dataframes.
go/progress
Package progress is for tracking the progress of long running tasks on the backend in a way that can be reflected in the UI.
Package progress is for tracking the progress of long running tasks on the backend in a way that can be reflected in the UI.
go/questagent/db/tosql command
This executable generates a go file that contains the SQL schema for questagent defined as a string.
This executable generates a go file that contains the SQL schema for questagent defined as a string.
go/regression
Package regression provides for tracking Perf regressions.
Package regression provides for tracking Perf regressions.
go/regression/continuous
Package continuous looks for Regressions in the background based on the new data arriving and the currently configured Alerts.
Package continuous looks for Regressions in the background based on the new data arriving and the currently configured Alerts.
go/regression/regressiontest
Package regressiontest has common utility funcs for testing the regression package.
Package regressiontest has common utility funcs for testing the regression package.
go/regression/sqlregressionstore
Package sqlregressionstore implements the regression.Store interface on an SQL database backend.
Package sqlregressionstore implements the regression.Store interface on an SQL database backend.
go/shortcut
Package shortcut handles storing and retrieving shortcuts.
Package shortcut handles storing and retrieving shortcuts.
go/shortcut/shortcuttest
Package shortcuttest has common code for tests of implementations of shortcut.Store.
Package shortcuttest has common code for tests of implementations of shortcut.Store.
go/shortcut/sqlshortcutstore
Package sqlshortcutstore implements shortcut.Store using an SQL database.
Package sqlshortcutstore implements shortcut.Store using an SQL database.
go/sql/expectedschema
Package expectedschema contains the schema the database is expected to have.
Package expectedschema contains the schema the database is expected to have.
go/sql/exportschema command
Application exportschema exports the expected schema as a serialized schema.Description.
Application exportschema exports the expected schema as a serialized schema.Description.
go/sql/tosql command
This executable generates a go file that contains the SQL schema for machineserver defined as a string.
This executable generates a go file that contains the SQL schema for machineserver defined as a string.
go/tracestore/sqltracestore
Package sqltracestore implements a tracestore.TraceStore on top of SQL.
Package sqltracestore implements a tracestore.TraceStore on top of SQL.
go/tracing
Package tracing consolidates OpenCensus tracing initialization in one place.
Package tracing consolidates OpenCensus tracing initialization in one place.
go/trybot
Package trybot has common types for the store and ingester sub-modules.
Package trybot has common types for the store and ingester sub-modules.
go/trybot/results
Package results defines the interface for loading trybot results.
Package results defines the interface for loading trybot results.
go/trybot/results/dfloader
Package dfloader implements results.Loader using a DataFrameBuilder.
Package dfloader implements results.Loader using a DataFrameBuilder.
go/trybot/samplesloader/gcssamplesloader
Package gcssamplesloader implements samplesloader.SamplesLoader for Google Cloud Storage.
Package gcssamplesloader implements samplesloader.SamplesLoader for Google Cloud Storage.
go/trybot/store
Package store stores the results from trybot runs.
Package store stores the results from trybot runs.
go/ts command
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
go/ui/frame
Package frame takes frontend requests for dataframes (FrameRequest), and turns them into FrameResponses.
Package frame takes frontend requests for dataframes (FrameRequest), and turns them into FrameResponses.
integration command
Generates demo data to go along with the demo repo at https://github.com/skia-dev/perf-demo-repo.
Generates demo data to go along with the demo repo at https://github.com/skia-dev/perf-demo-repo.
nanostat command
See README.md
See README.md
samplevariance command
See README.md
See README.md
proberk
go/proberk command
Proberk is an HTTP prober that periodically sends out HTTP requests to specified endpoints and reports if the returned results match the expectations.
Proberk is an HTTP prober that periodically sends out HTTP requests to specified endpoints and reports if the returned results match the expectations.
go/types/generate command
Program to generate JSON Schema definitions for the Probe struct.
Program to generate JSON Schema definitions for the Probe struct.
promk
go/backup-to-gcs command
backup-to-gcs backs up files to GCS on a daily basis, putting the files in a directory structure by the day, i.e.
backup-to-gcs backs up files to GCS on a daily basis, putting the files in a directory structure by the day, i.e.
go/genpromcrd command
Package main implements the genpromcrd command line application.
Package main implements the genpromcrd command line application.
go/genpromcrd/genpromcrd
Package genpromcrd implements all the functionality for the genpromcrd command line application.
Package genpromcrd implements all the functionality for the genpromcrd command line application.
puppeteer-tests
bazel/extract_puppeteer_screenshots command
extract_puppeteer_screenshots extracts Puppeteer screenshots into a user-specified directory.
extract_puppeteer_screenshots extracts Puppeteer screenshots into a user-specified directory.
bazel/puppeteer_screenshot_server command
This program serves a web application that displays screnshots captured by Puppeteer tests.
This program serves a web application that displays screnshots captured by Puppeteer tests.
sa-keys-checker
scrap
go/api
Package api implements the REST API for the scrap exchange service.
Package api implements the REST API for the scrap exchange service.
go/client
Package client is a client for the Scrap Exchange REST API.
Package client is a client for the Scrap Exchange REST API.
go/fakeclient
Package fakeclient offers a fake implementation of scrap.ScrapExchange.
Package fakeclient offers a fake implementation of scrap.ScrapExchange.
go/scrap
Package scrap defines the scrap types and functions on them.
Package scrap defines the scrap types and functions on them.
go/scrapexchange command
scrapexchange is the web admin and API server for the scrap exchange service.
scrapexchange is the web admin and API server for the scrap exchange service.
add_gce_scopes command
gcs_cleanup command
gcs_usage command
pubsub_recorder command
run_emulators command
run_on_k8s_nodes command
This executable was helpful when trying to run commands across all of our k8s nodes.
This executable was helpful when trying to run commands across all of our k8s nodes.
skfe
go/loadtest command
loadtest is a simple loadtesting tool.
loadtest is a simple loadtesting tool.
go/merge_envoy command
merge_envoy takes two Envoy config files, adds all the Virtual Hosts and Clusters from the second file to the first file and then serializes the results of the merge as JSON to stdout.
merge_envoy takes two Envoy config files, adds all the Virtual Hosts and Clusters from the second file to the first file and then serializes the results of the merge as JSON to stdout.
go/update_probers command
update_probers is a command line application that updates the "envoy-redirects" section of probersk.json5 with all the redirects in envoy-starter.json.
update_probers is a command line application that updates the "envoy-redirects" section of probersk.json5 with all the redirects in envoy-starter.json.
skolo
go/environment_monitor_ansible command
Environment Monitor reports ambient environment sensor values to be recorded in metrics2.
Environment Monitor reports ambient environment sensor values to be recorded in metrics2.
go/file-backup command
go/getgpu command
This Windows-only program detects and prints out the GPU vendor / device name and version.
This Windows-only program detects and prints out the GPU vendor / device name and version.
go/router_backup_ansible command
Backup files to Google Cloud Storage.
Backup files to Google Cloud Storage.
go/sensors
Package to interact with various sensor modules.
Package to interact with various sensor modules.
go/sensors_tool command
Command-line utility application to read sensor values and printSensorValue to stdout.
Command-line utility application to read sensor values and printSensorValue to stdout.
go/skmetadata
Package skmetadata provides helper functions to implement the meta data server for the Skolo.
Package skmetadata provides helper functions to implement the meta data server for the Skolo.
go/update_ssh_gce_config command
This program updates the GCE machine definitions in //skolo/ansible/ssh.cfg based on machine descriptions returned by the "gcloud" command.
This program updates the GCE machine definitions in //skolo/ansible/ssh.cfg based on machine descriptions returned by the "gcloud" command.
sys
static_server
go/static_server command
This executable is a very simple web server that serves static HTML/CSS/JS content from GCS.
This executable is a very simple web server that serves static HTML/CSS/JS content from GCS.
test-service
go/test-service command
tool
go/cmd/validate command
Command line application to validate configs in a given directory.
Command line application to validate configs in a given directory.
go/srv command
go/tool/schema command
Program to generate JSON Schema definitions for the Tool struct.
Program to generate JSON Schema definitions for the Tool struct.
go/ts command
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.
Program to generate TypeScript definition files for Golang structs that are serialized to JSON for the web UI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL