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.0.42.tar.gz (12.6 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.0.42-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: varicon_observability-1.0.42.tar.gz
  • Upload date:
  • Size: 12.6 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.0.42.tar.gz
Algorithm Hash digest
SHA256 5fe131db2bf08e3488d20b52c603297496532580c23aabb4ad5834792ce1d43d
MD5 f96e8d101e03966dbd8dfd6ea78755fd
BLAKE2b-256 367d9b53e75b4bdd741d37ee077b74debf78bc1137f112647a6ae92e7002e1d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for varicon_observability-1.0.42-py3-none-any.whl
Algorithm Hash digest
SHA256 54139edce1491d477e0c0cc97cc91fafb6653e25c81995520c51efa6df55fb6b
MD5 e2c20d82f4c4bc41a4e5ec39320797b7
BLAKE2b-256 c540478bca4924d6cff9f877d9ac6f29df1b4746de772f842874f6e4d050c40d

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