Comments (2)
I wonder if we should publish our sentry information (like connection info, etc.).
from gsclient-go.
What are your thoughts?
If the goal is to get backtraces from failed API requests I think it should happen on the server-side of the API not on the client-side. Reasons:
- It is much simpler to implement. Adding Sentry to a couple of services on the backend can be done with only a few lines and can just be always on. Not much configuration handling needed. No opt-in/-out skirmish.
- It is more accurate, since events can be sent more reliably as network conditions on the server-side are known. Also the information depth of the stack traces is much deeper (you would see where it failed, in what environment, et cetera). If you collect traces on the client you essentially just get the status code, a short error message, and maybe a request ID (that you still have to manually map to server-side collected traces).
- It is safer for users. If we would add this to the clients we would have to provide users with a way to opt in or out. We would have to document why we are doing telemetry and what data is collected. I guess, we cannot guarantee with Sentry that there are no secrets included in the collected data and the potential that the data is personal data in the sense of GDPR would involve extra overhead on our side to clean-up those information on Sentry side before it is actually stored.
So really, tl;dr, if the goal is getting good traces on failed API requests, it is better done on server-side where requests are actually processed rather than client libraries or applications.
from gsclient-go.
Related Issues (20)
- API addition in events payload
- Support batch API HOT 1
- Add support for contract management API HOT 1
- Make exported types and functions adhere Go naming conventions HOT 1
- Obfuscate user ID and API token used in debug mode HOT 1
- gsclient-go seem not to follow 301 redirects from the api HOT 1
- Fix up source code comments HOT 10
- Allow tracing of request durations HOT 4
- Switch default branch to main
- Remove CurrentPrice from properties
- Missing `autoscaling` in PaaS template getter
- Add `Certificate` CRUD operations.
- Cannot update PaaS template UUID of a PaaS.
- Fix handling of retry-able requests 429 and 503 HOT 3
- Do not reuse `http.Request` when retrying
- Enable DHPC options to network
- Add network's `pinned_server` API endpoints HOT 1
- Add missing API endpoints
- Add storage backup location
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 gsclient-go.