Fabian Reinartz
Fabian Reinartz
Currently most of our components depend on package `config` as that's where their configuration structs are defined. That's noisy for package reuse. In some places we work around it by...
Currently one needs to declare tag keys in a `var` block and then initialize them in an `init` function. This adds a fair amount of boilerplate just for instrumentation. Adding...
Delimiting records by signal characters, `\n` in oklog's case, has several several drawbacks: * records always need to be escaped properly (also makes them possibly vulnearable to injections) * walking...
This roughly outlines how an sidecar-based indexer would look like. First commit is mostly just a big code move to share functionality previously in the `store` pkg. It's not fully...
This is more of a preview.
Oklog does provide no first-class concept for logical separation of log streams (think Kafka topics). However, it can be easily implemented by prefixing log records by a topic key. If...
Oklog assigns each record a ULID on ingestion, which conveniently gives them a time-based ordering. The encoded timestamp is of millisecond resolution. If two records are produced within the same...
Much like Prometheus, oklog does not intend to be a long-term storage for logs. [Thanos](github.com/improbable-eng/thanos) is a aggregation and long-term storage solution for Prometheus based on arbitrary object storage. Experiences...
Documentation on `Gossiper.On*` and `GossipData.Merge` could be clearer whether I can modify the argument and return it again or can return the receiver after successfully merging.
For federation we can provide `match[]` query parameters with metric selectors to ask for specific metrics. By default none are shown. Regular scrape targets should provide the same options but...