Skip to main content

Unified observability package for Varicon services - logs, traces, and metrics

Project description

Varicon Observability

Unified observability package for logs, traces, and metrics across all Varicon services.

Features

  • Universal Log Capture: Captures all logs regardless of how they're created
  • Distributed Tracing: Automatic trace correlation across services
  • Metrics: System telemetry and performance metrics
  • Zero Code Changes: Works with existing logging code
  • Framework Support: Auto-detects and instruments Django, FastAPI, Celery

Installation

From Local Source (Development)

cd varicon_observability
pip install -e .

# Or with optional dependencies
pip install -e ".[full]"

From Git Repository

pip install git+https://github.com/your-org/varicon-observability.git

# With optional dependencies
pip install "git+https://github.com/your-org/varicon-observability.git#egg=varicon-observability[full]"

Build and Install from Source

cd varicon_observability
python -m build
pip install dist/varicon_observability-*.whl

Installation Options

  • Basic: pip install varicon-observability
  • Django: pip install varicon-observability[django]
  • FastAPI: pip install varicon-observability[fastapi]
  • Celery: pip install varicon-observability[celery]
  • Full: pip install varicon-observability[full]

Quick Start

Django (varicon)

# varicon/varicon/asgi.py or settings.py
from varicon_observability import setup_observability

setup_observability(service_name="varicon-django")

FastAPI (integrations_service)

# integrations_service/main.py
from varicon_observability import setup_observability

setup_observability(service_name="integration-service")

Configuration

Set environment variables:

OTEL_ENABLED=true
OTEL_SERVICE_NAME=my-service
OTEL_EXPORTER_OTLP_ENDPOINT=http://signoz-otel-collector:4318
OTEL_EXPORTER_OTLP_PROTOCOL=grpc  # or http
OTEL_EXPORTER_OTLP_HEADERS=signoz-ingestion-key=your-key
OTEL_METRIC_EXPORT_INTERVAL=60000  # Export metrics every 60 seconds (ms)

What Gets Captured

  • All Python logging (logging.getLogger(), IntegrationLogger(), etc.)
  • Framework logs (Django, FastAPI, Uvicorn, Celery)
  • HTTP requests (requests, httpx)
  • Database queries (PostgreSQL via psycopg2)
  • Redis operations
  • Custom traces and metrics

Custom Metrics

Create custom metrics for Signoz using get_meter() or the built-in helpers:

from varicon_observability import setup_observability, get_meter, get_request_counter

setup_observability(service_name="my-service")

# Option 1: Use get_meter() for full control
meter = get_meter()
my_counter = meter.create_counter("custom.events", unit="1", description="Custom events")
my_counter.add(1, {"event_type": "signup"})

# Option 2: Use built-in helpers
request_counter = get_request_counter()
request_counter.add(1, {"endpoint": "/api/users"})

Note: SQLAlchemy logs are disabled by default (set ENABLE_SQLALCHEMY_LOGS=true to enable)

Architecture

Application Code
    ↓
Python Logging (any pattern)
    ↓
Root Logger Handler
    ↓
OpenTelemetry LoggingHandler
    ↓
OTLP Exporter
    ↓
SigNoz

All logs automatically include trace context for correlation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

varicon_observability-1.2.22.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

varicon_observability-1.2.22-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file varicon_observability-1.2.22.tar.gz.

File metadata

  • Download URL: varicon_observability-1.2.22.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for varicon_observability-1.2.22.tar.gz
Algorithm Hash digest
SHA256 4e3e840b57af0b1167473641e7dfd8df60975589df6dd8bd41fd0ac8578253a5
MD5 a8550b15a972ffccddb248894768d184
BLAKE2b-256 011671cd421c7fc049584808b5f9e8920f9313cc643d7ae7158558f854990adc

See more details on using hashes here.

File details

Details for the file varicon_observability-1.2.22-py3-none-any.whl.

File metadata

File hashes

Hashes for varicon_observability-1.2.22-py3-none-any.whl
Algorithm Hash digest
SHA256 3b959d55c70d015a0d71803fa04db08e021c425c445ee86bcfa6ee148085b053
MD5 c48b33b0ab857753513c6de83721bb81
BLAKE2b-256 30acb331a0e209478318afd466c15b13fef6c3b260a7e0aa3c3e4ec2bb10b55b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page