Skip to main content

Kindling Azure Monitor OpenTelemetry Integration

Azure Monitor OpenTelemetry integration for the Kindling Spark framework.

See CHANGELOG.md for release history.

Overview

This package provides Azure Monitor-backed implementations of Kindling's telemetry providers:

  • AzureMonitorLoggerProvider - Sends logs to Azure Monitor/Application Insights
  • AzureMonitorTraceProvider - Sends distributed traces to Azure Monitor

Installation

pip install spark-kindling-ext-otel-azure

In a Kindling domain project, add it with kindling env add spark-kindling-ext-otel-azure. On a cluster, the runtime installs it from <artifacts>/packages/ when it is listed in kindling.extensions; upload the wheel there with kindling runtime deploy --source github:<version> --dest <artifacts-root> --extension spark-kindling-ext-otel-azure.

Usage

Configuration

Add the extension to your settings.yaml or BOOTSTRAP_CONFIG:

kindling:
  # Extensions are automatically loaded (installed + imported)
  extensions:
    - spark-kindling-ext-otel-azure>=0.14.0

  telemetry:
    azure_monitor:
      connection_string: "InstrumentationKey=your-key;IngestionEndpoint=https://..."
      # Both default to false: with neither set the extension sends nothing.
      enable_logging: true
      enable_tracing: true
      sampling_rate: 1.0  # optional; 1.0 = 100% sampling

Or in bootstrap config:

BOOTSTRAP_CONFIG = {
    'extensions': ['spark-kindling-ext-otel-azure>=0.14.0'],
    'kindling': {
        'telemetry': {
            'azure_monitor': {
                'connection_string': 'InstrumentationKey=...',
                'enable_logging': True,
                'enable_tracing': True,
            }
        }
    }
}

Using with Dependency Injection

The providers automatically register with Kindling's DI container:

from kindling.spark_log_provider import PythonLoggerProvider
from kindling.spark_trace import SparkTraceProvider
from kindling.injection import GlobalInjector

# Import to register Azure Monitor providers
import kindling_ext_otel_azure

# Get logger (automatically uses Azure Monitor if configured)
logger_provider = GlobalInjector.get(PythonLoggerProvider)
logger = logger_provider.get_logger("my_app")

# Get tracer (automatically uses Azure Monitor if configured)
trace_provider = GlobalInjector.get(SparkTraceProvider)

# Use tracing
with trace_provider.span(component="data_pipeline", operation="process"):
    logger.info("Processing data...")
    # Your code here

Manual Setup

You can also manually configure the providers:

from kindling_ext_otel_azure import AzureMonitorLoggerProvider, AzureMonitorTraceProvider
from kindling.spark_config import ConfigService

config = ConfigService()
config.load_from_file("settings.yaml")

# Create providers
logger_provider = AzureMonitorLoggerProvider(config)
trace_provider = AzureMonitorTraceProvider(config)

# Use them
logger = logger_provider.get_logger("my_app")
logger.info("Hello from Azure Monitor!")

Features

  • Automatic instrumentation - Logs and traces flow to Azure Monitor
  • Distributed tracing - Correlate operations across services
  • Custom metrics - Track pipeline execution times, row counts, etc.
  • Application Insights integration - Query with KQL, set up alerts
  • Fallback behavior - Gracefully falls back if Azure Monitor unavailable

Requirements

  • Python 3.10+
  • Kindling framework
  • Azure subscription with Application Insights resource
  • Application Insights connection string

License

MIT

Metadata

Release files for spark-kindling-ext-otel-azure 0.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spark-kindling-ext-otel-azure 0.14.0
File Size Uploaded Provenance
spark_kindling_ext_otel_azure-0.14.0.tar.gz 8.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for spark-kindling-ext-otel-azure 0.14.0
File Interpreter ABI Platform
spark_kindling_ext_otel_azure-0.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.5 kB

Release files / spark_kindling_ext_otel_azure-0.14.0.tar.gz

Download URL spark_kindling_ext_otel_azure-0.14.0.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5571aa0ba546b3b848e3ab38fe4a1c4fe55525a8fe2953659f27bac6ff9184f8
BLAKE2b-256 checksum
How to use checksums
8288de1c82a0ec7bfdbe80dc6cff6320c4bb37c7b3941ca21911d04f838a919d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / spark_kindling_ext_otel_azure-0.14.0-py3-none-any.whl

Download URL spark_kindling_ext_otel_azure-0.14.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3758ef38c56ee6cdfdb3d71597bffaeda3461ccbbad0953ea9ae3c62923cea6e
BLAKE2b-256 checksum
How to use checksums
aa7bc83eb8463b5814434e5144ab0895db93c24951eea474146fa9b53848b9d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for spark-kindling-ext-otel-azure 0.14.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for spark_kindling_ext_otel_azure-0.14.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page