semvec/pypi-packages huggingface dataset:
opentelemetry-instrumentation-eventiq 0.1.5
Opentelemetry instrumentation for eventiq
Requires Python: >=3.9

![Tests](https://github.com/asynq-io/opentelemetry-instrumentation-eventiq/workflows/Tests/badge.svg)
![Build](https://github.com/asynq-io/opentelemetry-instrumentation-eventiq/workflows/Publish/badge.svg)
![License](https://img.shields.io/github/license/asynq-io/opentelemetry-instrumentation-eventiq)
![Mypy](https://img.shields.io/badge/mypy-checked-blue)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
![Python](https://img.shields.io/pypi/pyversions/opentelemetry-instrumentation-eventiq)
![Format](https://img.shields.io/pypi/format/opentelemetry-instrumentation-eventiq)
![PyPi](https://img.shields.io/pypi/v/opentelemetry-instrumentation-eventiq)

# opentelemetry-instrumentation-eventiq

Opentelemetry instrumentation for eventiq

## Installation

```shell
pip install opentelemetry-instrumentation-eventiq
```

## Usage

```python
from eventiq import Service
from opentelemetry.instrumentation.eventiq import EventiqInstrumentor, TraceContextCloudEvent, OpenTelemetryTracingMiddleware

EventiqInstrumentor().instrument()
# or directly instrument a service instance
service = Service(...)
EventiqInstrumentor().instrument_service(service)
# or by manually adding middleware
service.add_middleware(OpenTelemetryTracingMiddleware)

@service.subscribe(topic="example.topic")
async def handler(message: TraceContextCloudEvent):
    print(message.data, message.tracecontext)
```

## Classes
- `EventiqInstrumentor` - Opentelemetry instrumentor for eventiq
- `OpenTelemetryTracingMiddleware` - Middleware for tracing messages with OpenTelemetry
- `OpenTelemetryMetricsMiddleware` - Middleware for exporting metrics with OpenTelemetry
- `TraceContextCloudEvent` - CloudEvent extension for OpenTelemetry trace context
psmqtt 2.6.1
Utility reporting system health and status via MQTT
Requires Python: >=3.10

=======
Summary
=======

**PSMQTT** is a cross-platform utility for reporting system and processes
metrics (CPU, memory, disks, network, S.M.A.R.T. disk data, etc) to an MQTT broker.

It integrates seamlessly with `HomeAssistant <https://www.home-assistant.io/>`_
thanks to the support for `MQTT discovery messages <https://www.home-assistant.io/integrations/mqtt/#discovery-messages>`_.

**PSMQTT**  is written in Python and is based on:

* `paho-mqtt <https://github.com/eclipse/paho.mqtt.python>`_ to communicate with the MQTT broker;
* `psutil <https://github.com/giampaolo/psutil>`_ to collect metrics;
* `pySMART <https://github.com/truenas/py-SMART>`_ to collect SMART data from HDDs/SSDs;
* `recurrent <https://github.com/kvh/recurrent>`_ to describe scheduling expressions;
* `jinja2 <https://github.com/alex-foundation/jinja2>`_ to format the data.

============
Installation
============

The suggested installation method is to use the provided `Docker image <doc/install-docker.md>`_.
However alternative installation methods are available for Linux, FreeBSD and Windows:

* Installing from **pypi**: see `Install from pypi doc <doc/install-pypi.md>`_
* Installing from **sources**: see `Install from source doc <doc/install-source.md>`_
* Installing on **FreeBSD**: see `FreeBSD doc <doc/install-freebsd.md>`_
* Installing on **Windows**: see `Windows doc <doc/install-windows.md>`_

=======================
Configuration and usage
=======================

**PSMQTT** is strongly configuration-file-driven.
Please check the `Usage page <doc/usage.md>`_ which contains all documentation on the configuration options for psmqtt.

============
Known issues
============

See `Known issues <doc/known-problems.md>`_.

=======
Support
=======

Please use the `GitHub issue tracker <https://github.com/eschava/psmqtt/issues>`_
to report bugs or request features.