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

No ability to override default stack trace frame size #4623

Closed
martinamps opened this issue Nov 23, 2022 · 2 comments · Fixed by #7558
Closed

No ability to override default stack trace frame size #4623

martinamps opened this issue Nov 23, 2022 · 2 comments · Fixed by #7558
Assignees

Comments

@martinamps
Copy link

martinamps commented Nov 23, 2022

Summary of problem

No ability to override stack trace length for errors. Attempted to override it with functools but doesn't seem to work in practice:

>>> import ddtrace
>>> from functools import partial
>>> ddtrace.Span.set_traceback = partial(ddtrace.Span.set_traceback, limit=40)
>>> span = ddtrace.tracer.start_span("foo")
>>> import inspect
>>> inspect.signature(span.set_traceback)
<Signature (self, *, limit=40)>

A sample trace/error in our account has the following details:

fingerprint id: v2.3B6279362E1BD138CC28D824D737C260
trace id: 1917319239765696373
span id: 9701638903928124247
issue uuid: fabdb59c-678a-11ed-8547-da7ad0900002

Would be great to have this configurable!

Which version of dd-trace-py are you using?

1.6.3

Which version of pip are you using?

22.3.1

Which libraries and their versions are you using?

N/A

How can we reproduce your problem?

Trigger an error with >20 frames in the stacktrace

What is the result that you get?

20

What is the result that you expected?

Ability to set more than 20.

@martinamps martinamps changed the title No ability to override default No ability to override default stack trace frame size Nov 23, 2022
@emmettbutler emmettbutler self-assigned this Nov 10, 2023
emmettbutler added a commit that referenced this issue Nov 15, 2023
This pull request fixes
#4623 by making the size
limit of tracebacks included in span tags configurable. It does not
change the default limit.

## Checklist

- [x] Change(s) are motivated and described in the PR description.
- [x] Testing strategy is described if automated tests are not included
in the PR.
- [x] Risk is outlined (performance impact, potential for breakage,
maintainability, etc).
- [x] Change is maintainable (easy to change, telemetry, documentation).
- [x] [Library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
are followed. If no release note is required, add label
`changelog/no-changelog`.
- [x] Documentation is included (in-code, generated user docs, [public
corp docs](https://github.com/DataDog/documentation/)).
- [x] Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist

- [x] Title is accurate.
- [x] No unnecessary changes are introduced.
- [x] Description motivates each change.
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes unless absolutely necessary.
- [x] Testing strategy adequately addresses listed risk(s).
- [x] Change is maintainable (easy to change, telemetry, documentation).
- [x] Release note makes sense to a user of the library.
- [x] Reviewer has explicitly acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment.
- [x] Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
- [x] If this PR touches code that signs or publishes builds or
packages, or handles credentials of any kind, I've requested a review
from `@DataDog/security-design-and-guidance`.
- [x] This PR doesn't touch any of that.
@martinamps
Copy link
Author

Thanks @emmettbutler !

@emmettbutler
Copy link
Collaborator

@martinamps no problem!

sanchda pushed a commit that referenced this issue Nov 15, 2023
This pull request fixes
#4623 by making the size
limit of tracebacks included in span tags configurable. It does not
change the default limit.

## Checklist

- [x] Change(s) are motivated and described in the PR description.
- [x] Testing strategy is described if automated tests are not included
in the PR.
- [x] Risk is outlined (performance impact, potential for breakage,
maintainability, etc).
- [x] Change is maintainable (easy to change, telemetry, documentation).
- [x] [Library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
are followed. If no release note is required, add label
`changelog/no-changelog`.
- [x] Documentation is included (in-code, generated user docs, [public
corp docs](https://github.com/DataDog/documentation/)).
- [x] Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist

- [x] Title is accurate.
- [x] No unnecessary changes are introduced.
- [x] Description motivates each change.
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes unless absolutely necessary.
- [x] Testing strategy adequately addresses listed risk(s).
- [x] Change is maintainable (easy to change, telemetry, documentation).
- [x] Release note makes sense to a user of the library.
- [x] Reviewer has explicitly acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment.
- [x] Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
- [x] If this PR touches code that signs or publishes builds or
packages, or handles credentials of any kind, I've requested a review
from `@DataDog/security-design-and-guidance`.
- [x] This PR doesn't touch any of that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants