Categorygithub.com/m-lab/go
module
0.1.75
Repository: https://github.com/m-lab/go.git
Documentation: pkg.go.dev

# README

go

branchtravis-cicoverallsdocsreport card
masterTravis Build StatusCoverage StatusGoDocGo 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

# Packages

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.
No description provided by the author
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 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 host parses v1 and v2 hostnames into their constituent parts.
Package httpx provides generic functions which extend the capabilities of the http package.
Package logx provides very useful utilities for logging.
No description provided by the author
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.
No description provided by the author
Package prometheusx provides a canonical way to expose Prometheus metrics.
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.
No description provided by the author
Package storagex extends cloud.google.com/go/storage.
No description provided by the author
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.
No description provided by the author
Package warnonerror contains custom versions of common functions/methods that always log a warning in case of error.