summaryrefslogtreecommitdiff
path: root/vendor/github.com/prometheus/otlptranslator/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/prometheus/otlptranslator/README.md')
-rw-r--r--vendor/github.com/prometheus/otlptranslator/README.md120
1 files changed, 0 insertions, 120 deletions
diff --git a/vendor/github.com/prometheus/otlptranslator/README.md b/vendor/github.com/prometheus/otlptranslator/README.md
deleted file mode 100644
index b09484e27..000000000
--- a/vendor/github.com/prometheus/otlptranslator/README.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# OTLP Prometheus Translator
-
-A Go library for converting [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp/) metric and attribute names to [Prometheus](https://prometheus.io/)-compliant formats.
-
-Part of the [Prometheus](https://prometheus.io/) ecosystem, following the [OpenTelemetry to Prometheus compatibility specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/compatibility/prometheus_and_openmetrics.md).
-
-## Features
-
-- **Metric Name and Label Translation**: Convert OTLP metric names and attributes to Prometheus-compliant format
-- **Unit Handling**: Translate OTLP units to Prometheus unit conventions
-- **Type-Aware Suffixes**: Optionally append `_total`, `_ratio` based on metric type
-- **Namespace Support**: Add configurable namespace prefixes
-- **UTF-8 Support**: Choose between Prometheus legacy scheme compliant metric/label names (`[a-zA-Z0-9:_]`) or untranslated metric/label names
-- **Translation Strategy Configuration**: Select a translation strategy with a standard set of strings.
-
-## Installation
-
-```bash
-go get github.com/prometheus/otlptranslator
-```
-
-## Quick Start
-
-```go
-package main
-
-import (
- "fmt"
- "github.com/prometheus/otlptranslator"
-)
-
-func main() {
- // Create a metric namer using traditional Prometheus name translation, with suffixes added and UTF-8 disallowed.
- strategy := otlptranslator.UnderscoreEscapingWithSuffixes
- namer := otlptranslator.NewMetricNamer("myapp", strategy)
-
- // Translate OTLP metric to Prometheus format
- metric := otlptranslator.Metric{
- Name: "http.server.request.duration",
- Unit: "s",
- Type: otlptranslator.MetricTypeHistogram,
- }
- fmt.Println(namer.Build(metric)) // Output: myapp_http_server_request_duration_seconds
-
- // Translate label names
- labelNamer := otlptranslator.LabelNamer{UTF8Allowed: false}
- fmt.Println(labelNamer.Build("http.method")) // Output: http_method
-}
-```
-
-## Usage Examples
-
-### Metric Name Translation
-
-```go
-namer := otlptranslator.MetricNamer{WithMetricSuffixes: true, UTF8Allowed: false}
-
-// Counter gets _total suffix
-counter := otlptranslator.Metric{
- Name: "requests.count", Unit: "1", Type: otlptranslator.MetricTypeMonotonicCounter,
-}
-fmt.Println(namer.Build(counter)) // requests_count_total
-
-// Gauge with unit conversion
-gauge := otlptranslator.Metric{
- Name: "memory.usage", Unit: "By", Type: otlptranslator.MetricTypeGauge,
-}
-fmt.Println(namer.Build(gauge)) // memory_usage_bytes
-
-// Dimensionless gauge gets _ratio suffix
-ratio := otlptranslator.Metric{
- Name: "cpu.utilization", Unit: "1", Type: otlptranslator.MetricTypeGauge,
-}
-fmt.Println(namer.Build(ratio)) // cpu_utilization_ratio
-```
-
-### Label Translation
-
-```go
-labelNamer := otlptranslator.LabelNamer{UTF8Allowed: false}
-
-labelNamer.Build("http.method") // http_method
-labelNamer.Build("123invalid") // key_123invalid
-labelNamer.Build("_private") // key_private
-labelNamer.Build("__reserved__") // __reserved__ (preserved)
-labelNamer.Build("label@with$symbols") // label_with_symbols
-```
-
-### Unit Translation
-
-```go
-unitNamer := otlptranslator.UnitNamer{UTF8Allowed: false}
-
-unitNamer.Build("s") // seconds
-unitNamer.Build("By") // bytes
-unitNamer.Build("requests/s") // requests_per_second
-unitNamer.Build("1") // "" (dimensionless)
-```
-
-### Configuration Options
-
-```go
-// Prometheus-compliant mode - supports [a-zA-Z0-9:_]
-compliantNamer := otlptranslator.MetricNamer{UTF8Allowed: false, WithMetricSuffixes: true}
-
-// Transparent pass-through mode, aka "NoTranslation"
-utf8Namer := otlptranslator.MetricNamer{UTF8Allowed: true, WithMetricSuffixes: false}
-utf8Namer = otlptranslator.NewMetricNamer("", otlpTranslator.NoTranslation)
-
-// With namespace and suffixes
-productionNamer := otlptranslator.MetricNamer{
- Namespace: "myservice",
- WithMetricSuffixes: true,
- UTF8Allowed: false,
-}
-```
-
-## License
-
-Licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.