go

module
v0.1.67 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: Apache-2.0

README

go

branch travis-ci coveralls docs report card
master Travis Build Status Coverage Status GoDoc Go Report Card

General purpose libraries / APIs for use in mlab code.

General guidance

Packages in this repo should be:

  • Useful across multiple other packages
  • Non-trivial, either in lines of code or in semantic complexity. Small simple things should likely just be defined where they are used.
  • Fairly carefully designed. Probably should review design with other engineers before putting in too much effort.
  • Well tested and well documented. Test and documentation standards should be even higher than for most code repositories.

Note that packages here are intended to be used in other repositories. This means that it will be somewhat disruptive to change APIs in these packages, as API changing PRs will break other repos, and require additional PRs to fix those repositories.

tags

Please never tag this repo as v1.0 or above. Each library within this repo exists independently, and the commitments required by Go module best practices can never be satisfied by this repo as a whole. According to Go best practices, no whole-repo promises are made for tags of the form v0.X.Y, so we will restrict ourselves to version tags that start with a zero.

Please mark packages in development as alpha or beta. Use of these packages should be discouraged in other repositories while those packages are under development.

packages

link to go docs

Directories

Path Synopsis
Package anonymize provides IP address anonymization tools.
Package anonymize provides IP address anonymization tools.
Package bytecount provides a single datatype ByteCount, designed to track counts of bytes, as well as some helper constants.
Package bytecount provides a single datatype ByteCount, designed to track counts of bytes, as well as some helper constants.
cloud
bqfake
Package bqfake provides tools to construct fake bigquery datasets, tables, query responses, etc.
Package bqfake provides tools to construct fake bigquery datasets, tables, query responses, etc.
bqx
Package bqx includes generally useful abstractions for simplifying interactions with bigquery.
Package bqx includes generally useful abstractions for simplifying interactions with bigquery.
gcs
Package cloudtest provides utilities for testing, e.g.
Package cloudtest provides utilities for testing, e.g.
bqfake
Package bqfake provides tools to construct fake bigquery datasets, tables, query responses, etc.
Package bqfake provides tools to construct fake bigquery datasets, tables, query responses, etc.
dsfake
Package dsfake implements a fake dsiface.Client If you make changes to existing code, please test whether it breaks existing clients, e.g.
Package dsfake implements a fake dsiface.Client If you make changes to existing code, please test whether it breaks existing clients, e.g.
gcsfake
Package cloudtest provides utilities for testing, e.g.
Package cloudtest provides utilities for testing, e.g.
Package content provides a unified way of turning a URL into a struct that provides an array of bytes.
Package content provides a unified way of turning a URL into a struct that provides an array of bytes.
Package errorx provides functions for working with go errors.
Package errorx provides functions for working with go errors.
Package flagx extends to capabilities of flags to also be able to read from environment variables.
Package flagx extends to capabilities of flags to also be able to read from environment variables.
Package host parses v1 and v2 hostnames into their constituent parts.
Package host parses v1 and v2 hostnames into their constituent parts.
Package httpx provides generic functions which extend the capabilities of the http package.
Package httpx provides generic functions which extend the capabilities of the http package.
Package logx provides very useful utilities for logging.
Package logx provides very useful utilities for logging.
Package memoryless helps repeated calls to a function be distributed across time in a memoryless fashion.
Package memoryless helps repeated calls to a function be distributed across time in a memoryless fashion.
Package osx provides functionx which are extensions of the functionality provided in os.
Package osx provides functionx which are extensions of the functionality provided in os.
Package prometheusx provides a canonical way to expose Prometheus metrics.
Package prometheusx provides a canonical way to expose Prometheus metrics.
promtest
Package promtest provides a utility function for linting Prometheus metrics.
Package promtest provides a utility function for linting Prometheus metrics.
Package rtx provides free functions that would be handy to have as part of the go standard runtime.
Package rtx provides free functions that would be handy to have as part of the go standard runtime.
Package shx provides shell-like operations for Go.
Package shx provides shell-like operations for Go.
Package storagex extends cloud.google.com/go/storage.
Package storagex extends cloud.google.com/go/storage.
Package timex provides extensions to Go's time package.
Package timex provides extensions to Go's time package.
Package uniformnames allows experiments and utilities to check whether names conform to the requirements for experiment and datatype names in M-Lab.
Package uniformnames allows experiments and utilities to check whether names conform to the requirements for experiment and datatype names in M-Lab.
Package warnonerror contains custom versions of common functions/methods that always log a warning in case of error.
Package warnonerror contains custom versions of common functions/methods that always log a warning in case of error.

Jump to

Keyboard shortcuts

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