particlehealth / tau Goto Github PK
View Code? Open in Web Editor NEWCloud Tools and Utilities
License: MIT License
Cloud Tools and Utilities
License: MIT License
slog
should support convenience methods for entries being included in context.Context
structs.
Should follow guidance from Context
Currently slog will Marshal to a buffer, resulting in potential large allocations. We should just encode directly to the output stream.
A number of packages allow for including a log.Logger
that they'll use. Slog should implement that interface such that it can be used for those.
Dependabot to auto create updates to 'go.mod'
Log entries created by slog
do not currently allow for multiple levels of logging to easily occur.
Examples:
slog
entries should be cloned between usages, which should still have negligible impact.
Including a time
field in the JSON messages triggers a bug in the fluentd agent on GCE container optimized OS resulting in the log lines being silently dropped. Fix is to remove that field, which will reduce a bit of functionality for locally running, but will result in no changes when running in the cloud as timestamp is auto-populated at ingest time.
Action should run on all PR's and commits.
Freeform metadata is currently restricted to the labels string to string map. Stackdriver log explorer allows for more operations on non-string types such as comparators on numbers or nested maps. There should be a Details map[string]interface{}
to support adding these types.
slog
should have examples included in package documentation. Should follow the guidance here: https://blog.golang.org/examples
An action should be set up to automate:
Entries currently leverage encoding/json
to serialize. We can create a custom serializer that should result in faster performance.
Enable code scanning via CodeQL
Data race in cached source location information. Shouldn't have a bad impact on things, worst case additional lookups will be done, but should be fixed regardless so it doesn't hit -race
testing for consuming libraries.
Code coverage should be reported via GitHub Action
We should implement a few convenience methods in order to reduce the constant use of map[string]interface{}{"":...}
We can include type Fields map[string]interface{}
to add a map of details or a WithDetail method which takes in (string, struct) for adding a single detail in a less verbose way.
When cloning an entry the details map is not deep copied, resulting in changes to child entries impacting parent entries.
Use case is to simplify logging and returning of errors:
if err != nil {
err = fmt.Errorf("wrapping with more details: %w", err)
slog.Error(err)
return err
}
to
if err != nil {
return slog.Errorf("wrapping with more details: %w", err)
}
It should be able to create simple configurable cloud clients. e.g.
var (
spanner = config.Spanner("database", "/projects/test/instances/test/databases/test", "main database")
topic = config.Topic("topic", "next-step", "topic to notify on completion")
)
Instead of just the WithDetail[s]
methods, there should convenience methods to add common detail types:
log.String("result", "success").Duration("elapsed", time.Since(t)).Info("call complete")
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.