oteldb

package module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2023 License: Apache-2.0 Imports: 0 Imported by: 0

README

oteldb svg logo

oteldb codecov experimental

The OpenTelemetry-compatible telemetry aggregation, storage and processing.

[!WARNING]
Work in progress.

Storage

The oteldb is stateless and uses external storage systems for data persistence, processing and aggregation.

Currently, we focus on ClickHouse for realtime queries on hot/warm data.

Query

Supported query languages:

  • LogQL (Loki) for logs
  • TraceQL (Tempo) for traces
  • PromQL (Prometheus) for metrics
Prometheus Compatibility
$ promql-compliance-tester -config-file promql-test-queries.yml -config-file test.oteldb.yml
Total: 547 / 548 (99.82%) passed, 0 unsupported

Local development

Setups oteldb, clickhouse server, grafana, and telemetry generators:

docker compose -f dev/local/ch/docker-compose.yml up -d

You can open Grafana dashboard at http://localhost:3000/d/oteldb/oteldb

Documentation

Overview

Package oteldb is OpenTelemetry-compatible storage.

Directories

Path Synopsis
cmd
chotel
Binary chotel exports clichkouse traces to otel collector.
Binary chotel exports clichkouse traces to otel collector.
otelproxy
Command otelproxy is a Grafana datasource proxy.
Command otelproxy is a Grafana datasource proxy.
promql-compliance-tester
Binary promql-compliance-tester performs promql compliance testing based on provided configuration, comparing results with reference implementation.
Binary promql-compliance-tester performs promql compliance testing based on provided configuration, comparing results with reference implementation.
dev
Package integration wraps integration
Package integration wraps integration
lokie2e
Package lokie2e provides scripts for E2E testing Loki API implementation.
Package lokie2e provides scripts for E2E testing Loki API implementation.
prome2e
Package prome2e provides scripts for E2E testing Prometheus API implementation.
Package prome2e provides scripts for E2E testing Prometheus API implementation.
tempoe2e
Package tempoe2e provides scripts for E2E testing Tempo API implementation.
Package tempoe2e provides scripts for E2E testing Tempo API implementation.
Package internal contains go:generate annotations.
Package internal contains go:generate annotations.
autozpages
Package autozpages setups zPages handler.
Package autozpages setups zPages handler.
chstorage
Package chstorage provides Clickhouse-based storage.
Package chstorage provides Clickhouse-based storage.
chtrace
Package chtrace implements reading ClickHouse traces.
Package chtrace implements reading ClickHouse traces.
faker
Package faker implement a fake telemetry generator.
Package faker implement a fake telemetry generator.
httpmiddleware
Package httpmiddleware contains HTTP middlewares.
Package httpmiddleware contains HTTP middlewares.
iterators
Package iterators define storage iterator interfaces and some utilities.
Package iterators define storage iterator interfaces and some utilities.
lexerql
Package lexerql provides utilities for lexing in *QL languages.
Package lexerql provides utilities for lexing in *QL languages.
logparser
Package logparser parses logs.
Package logparser parses logs.
logql
Package logql contains LogQL parser and AST definitions.
Package logql contains LogQL parser and AST definitions.
logql/lexer
Package lexer contains LogQL lexer.
Package lexer contains LogQL lexer.
logql/logqlengine
Package logqlengine implements LogQL evaluation engine.
Package logqlengine implements LogQL evaluation engine.
logql/logqlengine/jsonexpr
Package jsonexpr provides JSON extractor expression parser.
Package jsonexpr provides JSON extractor expression parser.
logql/logqlengine/logqlmetric
Package logqlmetric provides metric queries implementation.
Package logqlmetric provides metric queries implementation.
logql/logqlengine/logqlpattern
Package logqlpattern contains parser for LogQL `pattern` stage pattern.
Package logqlpattern contains parser for LogQL `pattern` stage pattern.
logstorage
Package logstorage defines storage structure for logs storage.
Package logstorage defines storage structure for logs storage.
lokiapi
Code generated by ogen, DO NOT EDIT.
Code generated by ogen, DO NOT EDIT.
lokihandler
Package lokihandler provides Loki API implementation.
Package lokihandler provides Loki API implementation.
lokiproxy
Package lokiproxy provides Loki proxy for observability and research.
Package lokiproxy provides Loki proxy for observability and research.
metricstorage
Package metricstorage defines storage structure for metric storage.
Package metricstorage defines storage structure for metric storage.
otelreceiver
Package otelreceiver provides simple wrapper to setup trace receiver.
Package otelreceiver provides simple wrapper to setup trace receiver.
otelreceiver/prometheusremotewrite
Package prometheusremotewrite contains translator from Prometheus remote write format to OTLP metrics.
Package prometheusremotewrite contains translator from Prometheus remote write format to OTLP metrics.
otelreceiver/prometheusremotewritereceiver
Package prometheusremotewritereceiver implements Prometheus Remote Write API for OTLP collector.
Package prometheusremotewritereceiver implements Prometheus Remote Write API for OTLP collector.
otelschema
Package otelschema implements reading OpenTelemetry semantic convention schemas.
Package otelschema implements reading OpenTelemetry semantic convention schemas.
otelstorage
Package otelstorage contains common types and utilities for storing OpenTelemetry data.
Package otelstorage contains common types and utilities for storing OpenTelemetry data.
promapi
Package promapi contains generated code for OpenAPI specification.
Package promapi contains generated code for OpenAPI specification.
promhandler
Package promhandler provides Prometheus API implementation.
Package promhandler provides Prometheus API implementation.
promproxy
Package promproxy provides Prometheus proxy for observability and research.
Package promproxy provides Prometheus proxy for observability and research.
pyroproxy
Package pyroproxy provides Pyroscope proxy for observability and research.
Package pyroproxy provides Pyroscope proxy for observability and research.
tempoapi
Code generated by ogen, DO NOT EDIT.
Code generated by ogen, DO NOT EDIT.
tempohandler
Package tempohandler provides Tempo API implementation.
Package tempohandler provides Tempo API implementation.
tempoproxy
Package tempoproxy provides Tempo proxy for observability and research.
Package tempoproxy provides Tempo proxy for observability and research.
traceql
Package traceql contains TraceQL parser and AST definitions.
Package traceql contains TraceQL parser and AST definitions.
traceql/lexer
Package lexer contains TraceQL lexer.
Package lexer contains TraceQL lexer.
traceql/traceqlengine
Package traceqlengine implements TraceQL evaluation engine.
Package traceqlengine implements TraceQL evaluation engine.
tracestorage
Package tracestorage defines storage structure for trace storage.
Package tracestorage defines storage structure for trace storage.
zapotel
Package zapotel provides OpenTelemetry logs exporter zap core implementation.
Package zapotel provides OpenTelemetry logs exporter zap core implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL