If you need help managing transactions, you can read more here. If you need additional help, you can ask on GitHub. Customers on a paid plan may also contact support.
Group TransactionsWhen Sentry captures transactions, they are assigned a transaction name. This name is generally auto-generated by the Sentry SDK based on the framework integrations you are using. If you can't leverage the automatic transaction generation (or want to customize how transaction names are generated) you can use the scope API to set transaction names or use a custom event processor.
For example, to set a transaction name:
Copied
import sentry_sdk
scope = sentry_sdk.get_current_scope()
scope.set_transaction_name("UserListView")
You can define a custom before_send_transaction
callback to modify transaction names:
Copied
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
from sentry_sdk.types import Event, Hint
def transaction_processor(event: Event, hint: Hint) -> Event | None:
if event.get("type") == "transaction":
transaction_name = event.get("transaction", "")
if "/user/" in transaction_name:
import re
event["transaction"] = re.sub(r'/user/\d+/', '/user/:id/', transaction_name)
return event
sentry_sdk.init(
dsn="your-dsn",
integrations=[DjangoIntegration()],
traces_sample_rate=1.0,
before_send_transaction=transaction_processor,
)
Control Data Truncation
Currently, every tag has a maximum character limit of 200 characters. Tags over the 200 character limit will become truncated, losing potentially important information. To retain this data, you can split data over several tags instead.
For example, a 200+ character tag like this:
https://empowerplant.io/api/0/projects/ep/setup_form/?user_id=314159265358979323846264338327&tracking_id=EasyAsABC123OrSimpleAsDoReMi&product_name=PlantToHumanTranslator&product_id=161803398874989484820458683436563811772030917980576
...will become truncated to:
https://empowerplant.io/api/0/projects/ep/setup_form/?user_id=314159265358979323846264338327&tracking_id=EasyAsABC123OrSimpleAsDoReMi&product_name=PlantToHumanTranslator&product_id=1618033988749894848
Using span.set_tag
for shorter values, in combination with span.set_data
maintains the details.
Copied
import sentry_sdk
base_url = "https://empowerplant.io"
endpoint = "/api/0/projects/ep/setup_form"
parameters = {
"user_id": 314159265358979323846264338327,
"tracking_id": "EasyAsABC123OrSimpleAsDoReMi",
"product_name": "PlantToHumanTranslator",
"product_id": 161803398874989484820458683436563811772030917980576,
}
with sentry_sdk.start_span(op="request", name="setup form") as span:
span.set_tag("base_url", base_url)
span.set_tag("endpoint", endpoint)
span.set_data("parameters", parameters)
make_request(
"{base_url}/{endpoint}/".format(
base_url=base_url,
endpoint=endpoint,
),
data=parameters
)
Help improve this content
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4