Comments (4)
Thank you for the valuable feedback. I have one question that I would like to get some clarification. The capture
decorator provided by the recorder is calling this function https://github.com/aws/aws-xray-sdk-python/blob/master/aws_xray_sdk/core/recorder.py#L364 which currrently does proper error handling. So based on my understanding you can use the following syntax (decorator style):
@xray_recorder.capture()
def some_function():
print("code to trace as custom subsegment")
Is there anything missing on this code that we can improve so it can fit your use case? Or you mean to use the with
style instead of a decorator?
from aws-xray-sdk-python.
The capture
-decorator is fine as it is. It's perfect to get proper error handling when capturing whole functions. What we want to be able to do is to capture arbitrary parts of code inside of functions as well, with the same error handling properties as the capture
-decorator does provide. That's why we would like to see the same functionality as context manager as well, as decorators can only be applied to functions, while context managers can be used inside of functions.
The example for the context manager I included above is a bit silly as the only code inside the function, which is not going to be traced, is a print function, but just imagine more complicated code flow. We e.g. have the case that we have a single function in which we want to trace multiple parts of code separately, something not possible with a decorator.
Does that answer your question?
from aws-xray-sdk-python.
Yes. Thank you for the clarification. We will cooperate this use case into future improvements and releases. A PR is always welcome.
from aws-xray-sdk-python.
This feature is released as part of 2.2.0: https://pypi.org/project/aws-xray-sdk/. Closing.
from aws-xray-sdk-python.
Related Issues (20)
- Very rare ReferenceError HOT 2
- Support for psycopg3 HOT 2
- Link a Textract async operation with downstream process HOT 1
- Current tox versions do not like how testenv.passenv is set
- aws_xray_sdk.core.exceptions.exceptions.SegmentNameMissingException: Segment name is required. HOT 1
- Using psycopg2 connection_factory throws exceptions HOT 4
- Documentation for patch_all HOT 2
- Sampling configuration should discuss DefaultSampler vs. LocalSampler HOT 1
- Flask middleware errors when an earlier Flask extension throws an exception in a before_request method HOT 1
- Patched DB cursor and template may record outside of XRayMiddleware HOT 2
- Segment not propgated when subsegment metadata is sufficiently long HOT 4
- sqlalchemy_core patch errors for unencoded special characters in db url HOT 1
- Error when using AsyncContext in python 3.11.5 HOT 3
- MongoDB AttributeError: 'NoneType' object has no attribute 'put_annotation'
- aws-xray-sdk-python compatibility with Python 3.12 HOT 9
- Fix docstring in Entity.close() HOT 1
- No supported for fastAPI, need to add middleware for fastapi HOT 1
- Incompatible with Pynamodb 6.x HOT 4
- trace simple websocket messages - python HOT 5
- Unable to get RDS or SQL tracing with psycopg2 plugin HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-xray-sdk-python.