|
4 | 4 |
|
5 | 5 | ### Various fixes & improvements
|
6 | 6 |
|
7 |
| -- Adds `trace_propagation_targets` option (#1916) by @antonpirker |
8 |
| -- feat(cloud): Adding Cloud Resource Context (#1882) by @antonpirker |
9 |
| -- fix(profiling): Start profiler thread lazily (#1903) by @Zylphrex |
10 |
| -- feat(arq): add arq integration (#1872) by @Zhenay |
11 |
| -- tests(gevent): Add workflow to test gevent (#1870) by @Zylphrex |
12 |
| -- Updated outdated HTTPX test matrix (#1917) by @antonpirker |
13 |
| -- Make set_measurement public api and remove experimental status (#1909) by @sl0thentr0py |
14 |
| -- feat(falcon): Update of Falcon Integration (#1733) by @antonpirker |
15 |
| -- Remove deprecated `tracestate` (#1907) by @antonpirker |
16 |
| -- Switch to MIT license (#1908) by @cleptric |
| 7 | +- **New:** Add [arq](https://arq-docs.helpmanual.io/) Integration (#1872) by @Zhenay |
| 8 | + |
| 9 | + This integration will create performance spans when arq jobs will be enqueued and when they will be run. |
| 10 | + It will also capture errors in jobs and will link them to the performance spans. |
| 11 | + |
| 12 | + Usage: |
| 13 | + |
| 14 | + ```python |
| 15 | + import asyncio |
| 16 | + |
| 17 | + from httpx import AsyncClient |
| 18 | + from arq import create_pool |
| 19 | + from arq.connections import RedisSettings |
| 20 | + |
| 21 | + import sentry_sdk |
| 22 | + from sentry_sdk.integrations.arq import ArqIntegration |
| 23 | + from sentry_sdk.tracing import TRANSACTION_SOURCE_COMPONENT |
| 24 | + |
| 25 | + sentry_sdk.init( |
| 26 | + dsn="...", |
| 27 | + integrations=[ArqIntegration()], |
| 28 | + ) |
| 29 | + |
| 30 | + async def download_content(ctx, url): |
| 31 | + session: AsyncClient = ctx['session'] |
| 32 | + response = await session.get(url) |
| 33 | + print(f'{url}: {response.text:.80}...') |
| 34 | + return len(response.text) |
| 35 | + |
| 36 | + async def startup(ctx): |
| 37 | + ctx['session'] = AsyncClient() |
| 38 | + |
| 39 | + async def shutdown(ctx): |
| 40 | + await ctx['session'].aclose() |
| 41 | + |
| 42 | + async def main(): |
| 43 | + with sentry_sdk.start_transaction(name="testing_arq_tasks", source=TRANSACTION_SOURCE_COMPONENT): |
| 44 | + redis = await create_pool(RedisSettings()) |
| 45 | + for url in ('https://facebook.com', 'https://microsoft.com', 'https://github.com', "asdf" |
| 46 | + ): |
| 47 | + await redis.enqueue_job('download_content', url) |
| 48 | + |
| 49 | + class WorkerSettings: |
| 50 | + functions = [download_content] |
| 51 | + on_startup = startup |
| 52 | + on_shutdown = shutdown |
| 53 | + |
| 54 | + if __name__ == '__main__': |
| 55 | + asyncio.run(main()) |
| 56 | + ``` |
| 57 | + |
| 58 | +- Update of [Falcon](https://falconframework.org/) Integration (#1733) by @bartolootrit |
| 59 | +- Adding [Cloud Resource Context](https://docs.sentry.io/platforms/python/configuration/integrations/cloudresourcecontext/) integration (#1882) by @antonpirker |
| 60 | +- Profiling: Use the transaction timestamps to anchor the profile (#1898) by @Zylphrex |
| 61 | +- Profiling: Add debug logs to profiling (#1883) by @Zylphrex |
| 62 | +- Profiling: Start profiler thread lazily (#1903) by @Zylphrex |
17 | 63 | - Fixed checks for structured http data (#1905) by @antonpirker
|
18 |
| -- Add enable_tracing to default traces_sample_rate to 1.0 (#1900) by @sl0thentr0py |
19 |
| -- feat(pii): Sanitize URLs in Span description and breadcrumbs (#1876) by @antonpirker |
20 |
| -- ref(profiling): Use the transaction timestamps to anchor the profile (#1898) by @Zylphrex |
21 |
| -- Better setting of in-app in stack frames (#1894) by @antonpirker |
| 64 | +- Make `set_measurement` public api and remove experimental status (#1909) by @sl0thentr0py |
| 65 | +- Add `trace_propagation_targets` option (#1916) by @antonpirker |
| 66 | +- Add `enable_tracing` to default traces_sample_rate to 1.0 (#1900) by @sl0thentr0py |
| 67 | +- Remove deprecated `tracestate` (#1907) by @sl0thentr0py |
| 68 | +- Sanitize URLs in Span description and breadcrumbs (#1876) by @antonpirker |
22 | 69 | - Mechanism should default to true unless set explicitly (#1889) by @sl0thentr0py
|
23 |
| -- ref(profiling): Add debug logs to profiling (#1883) by @Zylphrex |
| 70 | +- Better setting of in-app in stack frames (#1894) by @antonpirker |
| 71 | +- Add workflow to test gevent (#1870) by @Zylphrex |
| 72 | +- Updated outdated HTTPX test matrix (#1917) by @antonpirker |
| 73 | +- Switch to MIT license (#1908) by @cleptric |
24 | 74 |
|
25 | 75 | ## 1.15.0
|
26 | 76 |
|
|
0 commit comments