kodus / sentry Goto Github PK
View Code? Open in Web Editor NEWLightweight alternative to the official PHP client for Sentry
Lightweight alternative to the official PHP client for Sentry
If Sentry returns a 429
(Retry After) HTTP status, the client is over the usage limit - the client should respect that, back off and wait for a while.
This isn't completely trivial to implement, since PHP scripts are stateless - we'll need to record the back-off period in a flat file somewhere maybe.
Or this may be part of a somewhat larger solution that also enables us to buffer to disk if the Sentry back-end fails to respond.
Needs design proposal/spec before implementation.
The 1.0.0
branch has been posted for review.
Please use this issue to post your comments or thumbs-up.
One point of early criticism from @thomasnordahl-dk is that this class is very large and ha a lot of responsibilities - this is actually "by design", since this client effectively has one API function and performs a single function.
However, I can already see a need for some minor kodus-specific (and kodus/user-session
-specific) extensions - and it would be nice to be able to plug these in as simple extensions, composition over inheritance and all that.
We now have a simple extension interface and a some smaller components to address this:
https://github.com/kodus/sentry/tree/1.0.0/src/Extensions
The client constructor accepts an array of these, and runs them in order whenever an event gets captured. The Event
model and it's components are mutable by design, so these extensions will simply take turns looking at the error/request instances and updating the Event
model.
Is this repo maintained? If not how would the people who created it feel about either bringing me on as a maintainer, or allowing us to fork it and advertise the new fork on Packagist as the continuation?
There's some changes needed especially for PHP8 that are blocking our use case so I'd like to resolve these at least, as well as resolve my callable extension PR to add some more flexibility for middlewares.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.