requiemdb

module
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0

README

requiemdb

Permanent Storage for Open Telemetry Data.

Features

  • OTLP gRPC server: You can send metrics, traces and logs directly from your apps using otel gRPC exporter. Works with all supported language SDK.
  • Query as code: version, reuse , run or experiment with scripts.
  • Embedded javascript engine: Use modern javascript or typescript for querying.
  • Standard compliant data: Work with data as defined in Open Telemetry Standards

You don't need bespoke query language to understand and get insight from your applications. Work with samples as defined in Open Telemetry Protocol using modern javascript or typescript.

Getting started

Installation

You can see release page for downloads if you have go installed do this

go install github.com/gernest/requiemdb/cmd/rq@latest

This will have rq binary installed

Start the server

rq

Wait for 2 minutes to have rq collect the process stats so we can query them.

Metrics,traces and logs emitted by rq are stored in the same rq instance. This is to allow quick evaluation of rq capabilities before deployment.

Let's check system cpu time, create a file cpu.ts

// cpu.ts
import { Metrics } from "@requiemdb/rq";

/**
 * Query instant system.cpu.time
 */
Metrics.render(
    (new Metrics()).
        name("system.cpu.time").
        query()
)
rq query cpu.ts
system.cpu.time
TIMESTAMP            VALUE         ATTRIBUTES            
2024-04-03 14:37:40  193h2m11.21s  { state = "idle" }    
2024-04-03 14:37:40  13h36m20.38s  { state = "user" }    
2024-04-03 14:37:40  8h20m8.09s    { state = "system" }  
2024-04-03 14:37:40  0s            { state = "other" }   

Sending data

RQ_OTLP_LISTEN=localhost:4317 rq

Configure your gRPC exporter to use RQ_OTLP_LISTEN endpoint.

Directories

Path Synopsis
cmd
rq
gen
internal
js
lsm
self/metrics/transform
Package transform provides transformation functionality from the sdk/metric/metricdata data-types into OTLP data-types.
Package transform provides transformation functionality from the sdk/metric/metricdata data-types into OTLP data-types.
seq
transform
Package transform provides primitives for extracting metadata from v1.Data that is used for building indexes
Package transform provides primitives for extracting metadata from v1.Data that is used for building indexes
x

Jump to

Keyboard shortcuts

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