Sentry can track performance for celery tasks and API endpoints https://docs.sentry.io/product/performance/
I have custom script that are lunching by crone and do set of similar tasks
I want to incorporated sentry_sdk into my script to get performance tracing of my tasks
Any advise how to do it with https://getsentry.github.io/sentry-python/api.html#sentry_sdk.capture_event
You don't need use capture_event
I would suggest to use sentry_sdk.start_transaction
instead. It also allows track your function performance.
Look at my example
from time import sleep
from sentry_sdk import Hub, init, start_transaction
init(
dsn="dsn",
traces_sample_rate=1.0,
)
def sentry_trace(func):
def wrapper(*args, **kwargs):
transaction = Hub.current.scope.transaction
if transaction:
with transaction.start_child(op=func.__name__):
return func(*args, **kwargs)
else:
with start_transaction(op=func.__name__, name=func.__name__):
return func(*args, **kwargs)
return wrapper
@sentry_trace
def b():
for i in range(1000):
print(i)
@sentry_trace
def c():
sleep(2)
print(1)
@sentry_trace
def a():
sleep(1)
b()
c()
if __name__ == '__main__':
a()
After starting this code you can see basic info of transaction a
with childs b
and c