elastic / elastic/apm-agent-python

The set_custom_context API attaches contexts only to transactions

Aperta
#1,124 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
agent-python feature
Lingua principale
Python
Stelle
431
Fork
239
Merge medio
5g 10h
PR unite (30g)
7

Descrizione

**Describe the bug**:

When using `set_custom_context` API, as per [documentation](https://www.elastic.co/guide/en/apm/agent/python/master/api.html#api-set-custom-context), the expectation is to be able to attach custom data to a `Transaction` or to an `Error`.

From the [code](https://github.com/elastic/apm-agent-python/blob/4d125e6f554a85b84085ddcf1fb783bc7228922c/elasticapm/traces.py#L848), it seems we apply the custom context only to `Transactions` which are sampled.

**Expected behavior**

The custom context should be attached to the `Error` too so that it will not be affected by sampling.

In any case, the request is to have an API to enrich errors without it being affected by sampling.

**Potential workaround**

If the objective is to enrich exceptions/errors, it is possible to use the `custom` named argument of `capture_exception` to enrich it. This information is attached to the `Error` and it will not be sampled.

**Environment**
- Python version: Python 2.7
- Framework and version: Django 1.11
- Agent version: 5.10.1

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.