Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency sentry-sdk to v1.21.1 #556

Merged
merged 1 commit into from
May 4, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 4, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
sentry-sdk (changelog) ==1.14.0 -> ==1.21.1 age adoption passing confidence

Release Notes

getsentry/sentry-python

v1.21.1

Compare Source

Various fixes & improvements

v1.21.0

Compare Source

Various fixes & improvements
  • Better handling of redis span/breadcrumb data (#​2033) by @​antonpirker

    Note: With this release we will limit the description of redis db spans and the data in breadcrumbs represting redis db operations to 1024 characters.

    This can can lead to truncated data. If you do not want this there is a new parameter max_data_size in RedisIntegration. You can set this to None for disabling trimming.

    Example for disabling trimming of redis commands in spans or breadcrumbs:

    sentry_sdk.init(
      integrations=[
        RedisIntegration(max_data_size=None),
      ]
    )

    Example for custom trim size of redis commands in spans or breadcrumbs:

    sentry_sdk.init(
      integrations=[
        RedisIntegration(max_data_size=50),
      ]
    )`
  • Add db.system to redis and SQLAlchemy db spans (#​2037, #​2038, #​2039) (#​2037) by @​AbhiPrasad

  • Upgraded linting tooling (#​2026) by @​antonpirker

  • Made code more resilient. (#​2031) by @​antonpirker

v1.20.0

Compare Source

Various fixes & improvements

v1.19.1

Compare Source

Various fixes & improvements

v1.19.0

Compare Source

Various fixes & improvements
  • New: Celery Beat auto monitoring (#​1967) by @​antonpirker

    The CeleryIntegration can now also monitor your Celery Beat scheduled tasks automatically using the new Crons feature of Sentry.

    To learn more see our Celery Beat Auto Discovery documentation.

    Usage:

    from celery import Celery, signals
    from celery.schedules import crontab
    
    import sentry_sdk
    from sentry_sdk.integrations.celery import CeleryIntegration
    
    app = Celery('tasks', broker='...')
    app.conf.beat_schedule = {
        'set-in-beat-schedule': {
            'task': 'tasks.some_important_task',
            'schedule': crontab(...),
        },
    }
    
    @​signals.celeryd_init.connect
    def init_sentry(**kwargs):
        sentry_sdk.init(
            dsn='...',
            integrations=[CeleryIntegration(monitor_beat_tasks=True)],  # 👈 here
            environment="local.dev.grace",
            release="v1.0",
        )

    This will auto detect all schedules tasks in your beat_schedule and will monitor them with Sentry Crons.

  • New: gRPC integration (#​1911) by @​hossein-raeisi

    The gRPC integration instruments all incoming requests and outgoing unary-unary, unary-stream grpc requests using grpcio channels.

    To learn more see our gRPC Integration documentation.

    On the server:

    import grpc
    from sentry_sdk.integrations.grpc.server import ServerInterceptor
    
    server = grpc.server(
        thread_pool=...,
        interceptors=[ServerInterceptor()],
    )

    On the client:

    import grpc
    from sentry_sdk.integrations.grpc.client import ClientInterceptor
    
    with grpc.insecure_channel("example.com:12345") as channel:
        channel = grpc.intercept_channel(channel, *[ClientInterceptor()])
  • New: socket integration (#​1911) by @​hossein-raeisi

    Use this integration to create spans for DNS resolves (socket.getaddrinfo()) and connection creations (socket.create_connection()).

    To learn more see our Socket Integration documentation.

    Usage:

    import sentry_sdk
    from sentry_sdk.integrations.socket import SocketIntegration
    sentry_sdk.init(
        dsn="___PUBLIC_DSN___",
        integrations=[
            SocketIntegration(),
        ],
    )
  • Fix: Do not trim span descriptions. (#​1983) by @​antonpirker

v1.18.0

Compare Source

Various fixes & improvements
  • New: Implement EventScrubber (#​1943) by @​sl0thentr0py

    To learn more see our Scrubbing Sensitive Data documentation.

    Add a new EventScrubber class that scrubs certain potentially sensitive interfaces with a DEFAULT_DENYLIST. The default scrubber is automatically run if send_default_pii = False:

    import sentry_sdk
    from sentry_sdk.scrubber import EventScrubber
    sentry_sdk.init(

...

  send_default_pii=False,
  event_scrubber=EventScrubber(),  # this is set by default

)


You can also pass in a custom `denylist` to the `EventScrubber` class and filter additional fields that you want.

```python
from sentry_sdk.scrubber import EventScrubber, DEFAULT_DENYLIST

v1.17.0

Compare Source

Various fixes & improvements
  • New: Monitor Celery Beat tasks with Sentry Cron Monitoring.

    With this feature you can make sure that your Celery beat tasks run at the right time and see if they where successful or not.

    Warning
    Cron Monitoring is currently in beta. Beta features are still in-progress and may have bugs. We recognize the irony.
    If you have any questions or feedback, please email us at [email protected], reach out via Discord (#cronjobs), or open an issue.

    Usage:

v1.16.0

Compare Source

Various fixes & improvements
  • New: Add arq Integration (#​1872) by @​Zhenay

    This integration will create performance spans when arq jobs will be enqueued and when they will be run.
    It will also capture errors in jobs and will link them to the performance spans.

    Usage:

    import asyncio
    
    from httpx import AsyncClient
    from arq import create_pool
    from arq.connections import RedisSettings
    
    import sentry_sdk
    from sentry_sdk.integrations.arq import ArqIntegration
    from sentry_sdk.tracing import TRANSACTION_SOURCE_COMPONENT
    
    sentry_sdk.init(
        dsn="...",
        integrations=[ArqIntegration()],
    )
    
    async def download_content(ctx, url):
        session: AsyncClient = ctx['session']
        response = await session.get(url)
        print(f'{url}: {response.text:.80}...')
        return len(response.text)
    
    async def startup(ctx):
        ctx['session'] = AsyncClient()
    
    async def shutdown(ctx):
        await ctx['session'].aclose()
    
    async def main():
        with sentry_sdk.start_transaction(name="testing_arq_tasks", source=TRANSACTION_SOURCE_COMPONENT):
            redis = await create_pool(RedisSettings())
            for url in ('https://facebook.com', 'https://microsoft.com', 'https://github.com', "asdf"
                        ):
                await redis.enqueue_job('download_content', url)
    
    class WorkerSettings:
        functions = [download_content]
        on_startup = startup
        on_shutdown = shutdown
    
    if __name__ == '__main__':
        asyncio.run(main())
  • Update of Falcon Integration (#​1733) by @​bartolootrit

  • Adding Cloud Resource Context integration (#​1882) by @​antonpirker

  • Profiling: Use the transaction timestamps to anchor the profile (#​1898) by @​Zylphrex

  • Profiling: Add debug logs to profiling (#​1883) by @​Zylphrex

  • Profiling: Start profiler thread lazily (#​1903) by @​Zylphrex

  • Fixed checks for structured http data (#​1905) by @​antonpirker

  • Make set_measurement public api and remove experimental status (#​1909) by @​sl0thentr0py

  • Add trace_propagation_targets option (#​1916) by @​antonpirker

  • Add enable_tracing to default traces_sample_rate to 1.0 (#​1900) by @​sl0thentr0py

  • Remove deprecated tracestate (#​1907) by @​sl0thentr0py

  • Sanitize URLs in Span description and breadcrumbs (#​1876) by @​antonpirker

  • Mechanism should default to true unless set explicitly (#​1889) by @​sl0thentr0py

  • Better setting of in-app in stack frames (#​1894) by @​antonpirker

  • Add workflow to test gevent (#​1870) by @​Zylphrex

  • Updated outdated HTTPX test matrix (#​1917) by @​antonpirker

  • Switch to MIT license (#​1908) by @​cleptric

v1.15.0

Compare Source

Various fixes & improvements
  • New: Add Huey Integration (#​1555) by @​Zhenay

    This integration will create performance spans when Huey tasks will be enqueued and when they will be executed.

    Usage:

    Task definition in demo.py:

    import time
    
    from huey import SqliteHuey, crontab
    
    import sentry_sdk
    from sentry_sdk.integrations.huey import HueyIntegration
    
    sentry_sdk.init(
        dsn="...",
        integrations=[
            HueyIntegration(),
        ],
        traces_sample_rate=1.0,
    )
    
    huey = SqliteHuey(filename='/tmp/demo.db')
    
    @​huey.task()
    def add_numbers(a, b):
        return a + b

    Running the tasks in run.py:

    from demo import add_numbers, flaky_task, nightly_backup
    
    import sentry_sdk
    from sentry_sdk.integrations.huey import HueyIntegration
    from sentry_sdk.tracing import TRANSACTION_SOURCE_COMPONENT, Transaction
    
    def main():
        sentry_sdk.init(
            dsn="...",
            integrations=[
                HueyIntegration(),
            ],
            traces_sample_rate=1.0,
        )
    
        with sentry_sdk.start_transaction(name="testing_huey_tasks", source=TRANSACTION_SOURCE_COMPONENT):
            r = add_numbers(1, 2)
    
    if __name__ == "__main__":
        main()
  • Profiling: Do not send single sample profiles (#​1879) by @​Zylphrex

  • Profiling: Add additional test coverage for profiler (#​1877) by @​Zylphrex

  • Profiling: Always use builtin time.sleep (#​1869) by @​Zylphrex

  • Profiling: Defaul in_app decision to None (#​1855) by @​Zylphrex

  • Profiling: Remove use of threading.Event (#​1864) by @​Zylphrex

  • Profiling: Enable profiling on all transactions (#​1797) by @​Zylphrex

  • FastAPI: Fix check for Starlette in FastAPI integration (#​1868) by @​antonpirker

  • Flask: Do not overwrite default for username with email address in FlaskIntegration (#​1873) by @​homeworkprod

  • Tests: Add py3.11 to test-common (#​1871) by @​Zylphrex

  • Fix: Don't log whole event in before_send / event_processor drops (#​1863) by @​sl0thentr0py


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the renovate label May 4, 2023
@fuzzylogic2000 fuzzylogic2000 merged commit 84ba151 into main May 4, 2023
@fuzzylogic2000 fuzzylogic2000 deleted the renovate/sentry-sdk-1.x branch May 4, 2023 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant