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 Common errors
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
Warnings
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
Imports
- CoralogixLoggingExporter wrong
from coralogix_opentelemetry import CoralogixLoggingExportercorrectfrom coralogix_opentelemetry.logs import CoralLogsExporter - CoralogixTraceExporter wrong
from coralogix_opentelemetry import CoralogixTraceExportercorrectfrom coralogix_opentelemetry.traces import CoralTraceExporter
Quickstart
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')