or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
golangpkg:golang/github.com/prometheus/client_model@v0.6.2
tile.json

tessl/golang-github-com-prometheus--client-model

tessl install tessl/golang-github-com-prometheus--client-model@0.6.1

Data model artifacts for Prometheus

Agent Success

Agent success rate when using this tile

93%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.13x

Baseline

Agent success rate without this tile

82%

task.mdevals/scenario-9/

Summary Metric Builder

Create a helper that produces a summary-style metric payload containing a sample count, sample sum, and quantile entries suitable for protobuf serialization.

Capabilities

Aggregates count and sum

  • With observations [1.2, 0.8, 3.0], the aggregated sample count is 3 and the sample sum is 5.0 in the produced summary data. @test

Computes quantiles with interpolation

  • Observations are sorted ascending; for each requested quantile phi in [0, 1], compute position phi * (n - 1) and linearly interpolate between neighboring samples to populate quantile entries. With observations [1, 2, 3, 4] and requested quantiles [0.25, 0.5], the resulting quantiles are (0.25 → 1.75) and (0.5 → 2.5), ordered by ascending phi. @test

Orders quantile output consistently

  • When quantile requests arrive unsorted (e.g., [0.9, 0.5]), the output quantile entries are sorted by phi while preserving the interpolated values for each request. @test

Handles empty observations

  • With no observations and any quantile requests, the summary data returns a sample count of 0, sample sum of 0, and no quantile entries. @test

Implementation

@generates

API

type QuantilePoint struct {
	Phi   float64
	Value float64
}

type SummaryData struct {
	SampleCount uint64
	SampleSum   float64
	Quantiles   []QuantilePoint
}

// BuildSummary aggregates count, sum, and quantile entries from observations, returning quantiles sorted by phi.
// Returns an error if observations contain NaN/Inf or quantiles fall outside [0, 1].
func BuildSummary(observations []float64, quantiles []float64) (*SummaryData, error)

// EncodeSummary converts the summary data into protobuf-ready bytes using the dependency's summary metric format.
func EncodeSummary(summary *SummaryData) ([]byte, error)

Dependencies { .dependencies }

github.com/prometheus/client_model/go { .dependency }

Provides Prometheus metric protobuf types for summary payloads.