Coralogix OpenTelemetry

raw JSON →
0.1.3 verified Fri May 01 auth: no python

Coralogix extensions for OpenTelemetry Python SDK. Version 0.1.3, last released Feb 2024. Pre-release, rapid changes expected.

pip install coralogix-opentelemetry
error ModuleNotFoundError: No module named 'coralogix_opentelemetry'
cause Library not installed or installed with wrong name (e.g., 'coralogix')
fix
pip install coralogix-opentelemetry
error AttributeError: module 'coralogix_opentelemetry' has no attribute 'CoralogixTraceExporter'
cause Using old import path from 0.0.x
fix
Use 'from coralogix_opentelemetry.traces import CoralTraceExporter'
error ValueError: Private key not provided
cause Missing or incorrect environment variable
fix
Set CORALOGIX_PRIVATE_KEY environment variable with your Coralogix private key
breaking Class names changed between 0.0.x and 0.1.x: Logs exporter is now CoralLogsExporter, Trace exporter is now CoralTraceExporter
fix Update imports: use 'from coralogix_opentelemetry.logs import CoralLogsExporter' and 'from coralogix_opentelemetry.traces import CoralTraceExporter'
deprecated The 'endpoint' parameter default changed; always provide the full URL to avoid hitting staging
fix Always set endpoint='https://api.coralogix.com' explicitly
gotcha Private env var is CORALOGIX_PRIVATE_KEY (not CORALOGIX_API_KEY)
fix Use CORALOGIX_PRIVATE_KEY

Basic trace exporter initialization

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from coralogix_opentelemetry.traces import CoralTraceExporter
import os

trace.set_tracer_provider(TracerProvider())
exporter = CoralTraceExporter(
    private_key=os.environ.get('CORALOGIX_PRIVATE_KEY', ''),
    endpoint='https://api.coralogix.com',
    application='my-app',
    subsystem='my-subsystem'
)
span_processor = BatchSpanProcessor(exporter)
trace.get_tracer_provider().add_span_processor(span_processor)

with trace.get_tracer(__name__).start_as_current_span('test') as span:
    span.set_attribute('hello', 'world')