Overview
The Acceldata Listener plugin integrates Airflow DAGs for automatic observation in ADOC.
Features
The plugin performs the following actions without requiring additional code in your Airflow DAG, unless you disable instrumentation through environment variables.
-
When the DAG starts:
- It creates the pipeline if it does not already exist in ADOC.
- It creates a new pipeline run in ADOC.
-
When a TaskInstance starts:
- It creates jobs in ADOC for each of the Airflow operators used in the task.
- It constructs job input nodes based on the upstream tasks.
- It creates a span and associates it with the jobs.
- It emits span events with metadata.
-
When a TaskInstance is completed:
- It emits span events with metadata.
- It ends the spans with either success or failure.
-
When the DAG is completed:
- It updates the pipeline run with success or failure in ADOC.
Prerequisites
Ensure the following applications are installed on your system:
- Python V3.8.0 and above (Download Python)
- Airflow V2.5.0 and above (Apache Airflow)
API keys are essential for authentication when making calls to ADOC. You can generate API keys in the ADOC UI's Admin Central by visiting the API Keys section.
Configuration
Plugin Environment Variables
The adoc_airflow_plugin uses the acceldata-sdk to push data to the ADOC backend.
Mandatory Environment Variables: The ADOC client requires the following environment variables:
TORCH_CATALOG_URL: The URL of your ADOC Server instance.TORCH_ACCESS_KEY: The API access key generated from the ADOC UI.TORCH_SECRET_KEY: The API secret key generated from the ADOC UI.
Optional Environment Variables: By default, all DAGs are observed. However, the following environment variables can be set to modify this behavior.
Note: The variables for ignoring or observing DAGs are mutually exclusive.
-
If the following environment variables match specific DAG IDs, those DAGs will be ignored from observation, while all other DAGs will still be observed:
DAGIDS_TO_IGNORE: Comma-separated list of DAG IDs to ignore.DAGIDS_REGEX_TO_IGNORE: Regular expression pattern for DAG IDs to ignore.
-
If the following environment variables match specific DAG IDs, only those DAGs will be observed, and all others will be ignored:
DAGIDS_TO_OBSERVE: Comma-separated list of DAG IDs to observe.DAGIDS_REGEX_TO_OBSERVE: Regular expression pattern for DAG IDs to observe.
-
The following environment variables can be used to configure timeout settings for communication with the ADOC server:
TORCH_CONNECTION_TIMEOUT_MS: Maximum time (in milliseconds) to wait while establishing a connection to the ADOC server. Default: 5000 ms.TORCH_READ_TIMEOUT_MS: Maximum time (in milliseconds) to wait for a response from the ADOC server after a successful connection. Default: 15000 ms.
Metadata
Release files for test-adoc-airflow-plugin 4.8.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| test_adoc_airflow_plugin-4.8.4.2.tar.gz | 10.9 kB | Without provenance | Details for test_adoc_airflow_plugin-4.8.4.2.tar.gz |
Release files / test_adoc_airflow_plugin-4.8.4.2.tar.gz
| Download URL | test_adoc_airflow_plugin-4.8.4.2.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef0adff755c39c0b38bffa73c167c4822a391a12bd8816f29d4e159d41a0c553
|
|
BLAKE2b-256 checksum How to use checksums |
58fa9182deef20eb905e3f62d55a4d04ba23805a40ab4f259d7aa37b2302b8c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.3
|
Security for test-adoc-airflow-plugin 4.8.4.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.