Skip to main content

Splunk SecureApp OpenTelemetry Extension for Python applications

Project description

Splunk SecureApp OpenTelemetry Extension

OpenTelemetry Python extension for integrating Splunk SecureApp with OpenTelemetry. This extension monitors runtime dependencies and reports them via OpenTelemetry logs.

Installation

# Install from PyPI
pip install secureapp-python-agent

# Install with OpenTelemetry instrumentation
pip install secureapp-python-agent splunk-opentelemetry

# Run your application with automatic instrumentation
opentelemetry-instrument python your_app.py

## Configuration

The extension can be configured using environment variables:

| Environment Variable                        | Default | Description                                               |
|---------------------------------------------|---------|-----------------------------------------------------------|
| `SPLUNK_SECUREAPP_AGENT_ENABLED`            | `true`  | Enable or disable the agent completely                    |
| `OTEL_LOGS_EXPORTER`                        | `otlp`  | Log exporter type: `otlp`, `console`, or `none`           |
| `SPLUNK_SECUREAPP_DEPENDENCY_INITIAL_DELAY` | `60.0`  | Initial delay (seconds) before dependency tracking starts |
| `SPLUNK_SECUREAPP_DEPENDENCY_SCAN_INTERVAL` | `86400` | Interval (seconds) between dependency scans (24 hours)    |
| `SPLUNK_SECUREAPP_LOG_LEVEL_INFO            |  NOTSET | Standard Python Log Levels                                |

## Features

### Runtime Dependency Monitoring

The extension monitors third-party Python packages loaded at runtime and reports
them through OpenTelemetry logs with:
- Package name and version
- Import timestamp
- Standard library exclusion for performance optimization
- Low overhead (<10MB memory, <100ms startup impact)

### OpenTelemetry Integration

- Sends dependency data as structured logs via configurable exporters
- Compatible with the OpenTelemetry Collector and Splunk Observability backends
- Lightweight implementation with optimized performance

## Compatibility

### OpenTelemetry Versions

The extension is compatible with OpenTelemetry versions 1.39.x plus

### Python Versions

Supported Python versions:
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
- Python 3.14

## Performance Considerations

The SecureApp agent is designed with minimal performance impact:
- Startup overhead: <100ms
- Memory overhead: <10MB
- Optimizations:
  - Lazy imports for better startup performance
  - Standard library detection to avoid unnecessary scanning
  - Configurable scan intervals
  - Efficient batch processing for telemetry data

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

secureapp_python_agent-26.5.0rc6.tar.gz (67.5 kB view details)

Uploaded Source

Built Distribution

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

secureapp_python_agent-26.5.0rc6-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file secureapp_python_agent-26.5.0rc6.tar.gz.

File metadata

File hashes

Hashes for secureapp_python_agent-26.5.0rc6.tar.gz
Algorithm Hash digest
SHA256 8f8fbc21b57fa80ac8bca94b2b3c5c762148dcf29a2af648fb1382f6c130d5aa
MD5 b92037a34b09c037995b9c60bce6b41d
BLAKE2b-256 3cb835e52f46b47fe8bd849e56a10d8062fd264bdbb1dfa6e8a2baa517d18dac

See more details on using hashes here.

File details

Details for the file secureapp_python_agent-26.5.0rc6-py3-none-any.whl.

File metadata

File hashes

Hashes for secureapp_python_agent-26.5.0rc6-py3-none-any.whl
Algorithm Hash digest
SHA256 451f8a1cb142747e3df7160f0c52fcd501cc79b8d0cd03d737b6fbc488d9de5c
MD5 8355bb09380e3acf824e5059490236f5
BLAKE2b-256 489a32fa83fd6120093670bcb1aac5e8f5c292d42147dea6c3b0bba16251cfe4

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