Skip to main content

Create and store data pipeline telemetry data

Project description

Create and store data pipeline telemetry data

  • Free software: GNU Lesser General Public License v3 or later (LGPLv3+)

Installation

pip install pipeline-telemetry

You can also install the in-development version with:

pip install https://github.com/MaartendeRuyter/pipeline-telemetry/archive/master.zip

Documentation

https://pipeline-telemetry.readthedocs.io/

Development

To run all the tests run:

tox

Note, to combine the coverage data from all the tox environments run:

Windows

set PYTEST_ADDOPTS=--cov-append
tox

Other

PYTEST_ADDOPTS=--cov-append tox

Changelog

0.0.1 (2021-10-06)

  • First release on PyPI.

0.0.4 (2021-10-31)

  • Seperated the storage module

  • Added MongoDb storage class

  • Started with documentation

0.1.0 (2021-11-05)

  • added Telemetry method add_telemetry_counter

  • Added TelemetryCounter class that can be used to make prefedined objects that can be added to the Telemetry instance with the add_telemetry_counter method. This will improve readibilty of your code:

    from pipeline_telemetry import TelemetryCounter
    
    YOUR_PREDFINED_COUNTER = (
        process_type=ProcessTypes.CREATE_DATA_FROM_API,
        sub_process='RETRIEVE_RAW_DATA',
        counter_name='my_custom_counter',
    )
    
    telemetry.add_telemetry_counter(YOUR_PREDFINED_COUNTER)

0.2.0 (2021-11-09)

  • added error field to TelemetryCounter so that default Errorcodes can be used in a TelemetryCounter instance to keep an error counter in the telemetry

  • Updated add_telemetry_counter so that it can handle TelemetryCounter instances with either an Errorcode of a custom counter. In case of ErrorCode the actual error_code will serve as the customer counter.

0.2.1 (2021-11-09)

  • added is_telemetry_counter method in helper module

  • moved add_telemetry decorator to helper module

  • both methods can be directly imported from pipeline_telemetry module

0.2.2 (2021-11-10)

  • added add_mongo_telemetry decorator that uses mongo storage class

0.2.3 (2021-11-10)

  • Added attribute process_types to TelemetryCounter dataclass next to existing process_type attribute. This allows you to choose between a list of process_types or just a single process_type to be in scope of the TelemetryCounter` instance

0.2.4 (2021-11-11)

  • Implemented add_to method in TelemetryCounter. Can be used to add a TelemetryCounter instance to an object with a telemetry instance attached to it. This will make the code more readable.

0.2.5 (2021-11-11)

  • Implemented increase_base_count and increase_fail_count method. They can be used to make your code more readable when updating the telemetry

0.2.6 (2021-12-08)

  • Added default increment value = 1 to methods increase_base_count and increase_fail_count

0.2.7 (2022-01-13)

  • Added fields category and sub_category to the telemetry object to allow for better distinction between telemetry sources

  • Rename telemetry field ‘process_name’ to ‘soure_name’ to be more clear about the data source in scope of the telemetry object

0.2.8 (2022-01-13)

  • Fix in storage classes to ensure category and sub_category to be stored in the toplevel of the telemetry object

0.2.10 (2022-01-18)

  • Added indexes to mongo storage class

0.2.11 (2022-01-18)

  • Added created_at field in mongo storage class for better date selection

  • of the telemetry objects

0.2.12 (2022-01-19)

  • Added traffic_light attribute to Telemetry object indicating the success state of the datapipeline process that is reporting on

  • Some minor refactoring

0.2.16 (2022-02-01)

  • Added telemetry_type and io_time_in_seconds attributes to Telemetry

  • object including a method to increase io_time_in_seconds.

0.2.18 (2022-03-2)

  • Added add_single_usage_telemetry decorator to be used for single usage

  • telemetry objects

0.3.0 (2022-05-12)

  • Added add_errors_from_return_value helper method to easily add the errors from a ReturnValueWithStatus object from error-manager package.

  • Automatically initialize a missing sub_process when a telemetry counter is added to the telemetry instance.

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

pipeline-telemetry-0.3.0.tar.gz (61.1 kB view details)

Uploaded Source

Built Distribution

pipeline_telemetry-0.3.0-py2.py3-none-any.whl (39.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pipeline-telemetry-0.3.0.tar.gz.

File metadata

  • Download URL: pipeline-telemetry-0.3.0.tar.gz
  • Upload date:
  • Size: 61.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for pipeline-telemetry-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6732c6c10723b1cc524bfbf56cba889aebdebc9b1ddaf4f969df4ab881f15bf9
MD5 e6923582105c8fefe6e93a19f2905801
BLAKE2b-256 1b12ec6ee036cc2af5de92b3e70f84055161ff3bbdc0ec1d80594b8c800dc450

See more details on using hashes here.

File details

Details for the file pipeline_telemetry-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: pipeline_telemetry-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for pipeline_telemetry-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2c1481d18dfbd489c7d55bc416d40a2e9ab5fc5f19f5338af8161d10582f601c
MD5 02206ccb8da0bb5c4b704e8b66f39521
BLAKE2b-256 d09c31413bce72e93bb24be5a806c7f7b98561e941a3cf786edba7937a45f34b

See more details on using hashes here.

Supported by

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