# @elasticapm.capture\_span not working in some modules

**URL:** <https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686>\
**Category:** APM\
**Created:** [July 5, 2018, 10:18am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686 "2018-07-05T10:18:29Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![11191](https://avatars.discourse-cdn.com/v4/letter/1/9dc877/32.png) [@11191](https://discuss.elastic.co/u/11191)\
**Post date:** [July 5, 2018, 10:18am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686/1 "2018-07-05T10:18:30Z")

</div>

Decorator elasticapm.capture\_span doesnt work in some modules while working in others. I dont do anything except importing elasticapm, so may be there are other dependencies?  
Anyone knows how to debug decorators and can share an advice?

---

<div class="post-metadata">

**Author:** ![beniwohli](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/beniwohli/32/21256_2.png) [@beniwohli](https://discuss.elastic.co/u/beniwohli)\
**Post date:** [July 5, 2018, 11:06am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686/2 "2018-07-05T11:06:04Z")

</div>

Hi Алексей

Can you provide some examples for when the decorator works and when it doesn't? Currently, there are a few limitations:

- `capture_span` only captures data if there is a transaction going on (either an automatic transaction when using Django/Flask/Celery, or when starting a transaction manually)
- Only spans in the main thread are captured
- no support for asyncio

---

<div class="post-metadata">

**Author:** ![11191](https://avatars.discourse-cdn.com/v4/letter/1/9dc877/32.png) [@11191](https://discuss.elastic.co/u/11191)\
**Post date:** [July 5, 2018, 11:30am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686/3 "2018-07-05T11:30:20Z")

</div>

I just figured that out, I mean not working with async part.

capture\_span works wherever async wasn't used. Thanx anyway.

btw any news on whether support for asyncio is planned or not?

---

<div class="post-metadata">

**Author:** ![beniwohli](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/beniwohli/32/21256_2.png) [@beniwohli](https://discuss.elastic.co/u/beniwohli)\
**Post date:** [July 5, 2018, 11:37am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686/4 "2018-07-05T11:37:25Z")

</div>

We do plan to investigate how exactly we can support asyncio in the coming weeks. At the moment, the most promising approach is to use the newly released [`contextvars`](https://docs.python.org/3/library/contextvars.html) to store transaction state. Of course, this would limit support to Python 3.7+ only. Would that be a problem for you?

---

<div class="post-metadata">

**Author:** ![11191](https://avatars.discourse-cdn.com/v4/letter/1/9dc877/32.png) [@11191](https://discuss.elastic.co/u/11191)\
**Post date:** [July 5, 2018, 11:53am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686/5 "2018-07-05T11:53:00Z")

</div>

I hope not. I'll check that out, thank you very much.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 26, 2018, 7:53am UTC](https://discuss.elastic.co/t/elasticapm-capture-span-not-working-in-some-modules/138686/6 "2018-07-26T07:53:08Z")

</div>

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.
