Core Concepts

Understanding Telegen’s architecture and terminology.

Deployment Modes

Telegen operates in two distinct modes:

Agent Mode

Agent mode is for local host/container observability. Deploy directly on each node you want to monitor.

        graph LR
    A[Host/Container] --> B[Telegen Agent]
    B --> C[eBPF Instrumentation]
    B --> D[Process Discovery]
    B --> E[Log Collection]
    C --> F[OTLP Export]
    D --> F
    E --> F
    F --> G[OTel Collector]
    

Capabilities:

  • eBPF-based kernel instrumentation

  • Process discovery and runtime detection

  • Continuous profiling (CPU, memory, mutex)

  • GPU/CUDA monitoring

  • Local log collection

  • Container and Kubernetes enrichment

Deployment: DaemonSet (Kubernetes), systemd service (bare metal)

Collector Mode

Collector mode is for remote device monitoring. Deploy on a separate node to collect telemetry from remote systems.

        graph LR
    A[Network Devices] -->|SNMP| B[Telegen Collector]
    C[Storage Arrays] -->|REST API| B
    D[Cloud APIs] -->|HTTPS| B
    B --> E[OTLP Export]
    E --> F[OTel Collector]
    

Capabilities:

  • SNMP polling and trap receiver (v1/v2c/v3)

  • Storage array metrics (Dell, HPE, Pure, NetApp)

  • Cloud/infrastructure API polling

  • Database metrics receivers

Deployment: Deployment/StatefulSet (Kubernetes), systemd service (bare metal)


Signal Types

Telegen produces four signal types, all in OpenTelemetry format:

Signal

Description

Use Case

Metrics

Time-series numerical data

Dashboards, alerting

Traces

Distributed request flows

Latency analysis, debugging

Logs

Structured event records

Debugging, auditing

Profiles

CPU/memory stack samples

Performance optimization

Signal Correlation

All signals are automatically correlated:

  • Logs include trace_id and span_id

  • Metrics include exemplars linking to trace samples

  • Profiles are correlated with active spans


Auto-Discovery

Telegen automatically detects and enriches telemetry with:

Cloud Detection

Provider

Detection Method

AWS

IMDSv2 (169.254.169.254)

GCP

Metadata server

Azure

IMDS

Alibaba

Metadata service

Oracle

IMDS

DigitalOcean

Metadata service

OpenStack

Keystone + env vars

VMware

Hypervisor detection

Runtime Detection

Runtime

Detection Method

Go

Binary symbols, runtime headers

Java

JVM process, JFR

Python

Interpreter process

Node.js

V8 engine detection

.NET

CoreCLR detection

Database Detection

Database

Detection Method

PostgreSQL

Port 5432, protocol detection

MySQL

Port 3306, protocol detection

Redis

Port 6379, RESP protocol

MongoDB

Port 27017, wire protocol

Kafka

Port 9092, broker detection


eBPF Programs

Telegen uses eBPF (Extended Berkeley Packet Filter) for kernel-level instrumentation:

        graph TB
    subgraph Kernel
        A[eBPF Programs]
        B[kprobes/uprobes]
        C[Tracepoints]
        D[XDP]
    end
    subgraph "User Space"
        E[Telegen Agent]
        F[Ring Buffer]
    end
    A --> B
    A --> C
    A --> D
    B --> F
    C --> F
    D --> F
    F --> E
    

eBPF Program Types Used

Type

Purpose

kprobe

Kernel function tracing

uprobe

User-space function tracing

tracepoint

Kernel tracepoint hooks

perf_event

CPU profiling

XDP

High-performance packet processing

tc

Traffic control for egress


Resource Attributes

Telegen follows OpenTelemetry semantic conventions for resource attributes:

# Automatically added to all signals
resource:
  service.name: "my-service"
  service.namespace: "production"
  host.name: "node-1"
  host.arch: "amd64"
  os.type: "linux"
  cloud.provider: "aws"
  cloud.region: "us-east-1"
  k8s.namespace.name: "default"
  k8s.pod.name: "my-pod-abc123"
  k8s.node.name: "node-1"

Next Steps