Giter Site home page Giter Site logo

Comments (3)

CmdrKeen avatar CmdrKeen commented on May 24, 2024

Hi, thanks for the feedback :-)

Firstly (and possibly most importantly), I agree there should be a way of disabling cookies. Moving past that, and in the interests of coming up with an improved approach, let me explain why we do this. User tracking is great when you want to identify a user - it's also great when you don't want to identify a user but understand the impact of an error.

For example, if you have an error happen 10000 times, is it a bad thing? It sounds like a bad thing. But what if it only affected 1 user? And you had a million happy users? What if that one user was a spam bot?

Our fundamental goal is to build the best error service available, and that means we're focused on not just building a quantitative tool, but a qualitative tool. Understanding real impact falls into the quality bucket.

So, when we set a user initially, it's just a random token. That way, at the very least, we can figure out at our end if the number of affected users is high or low. It's not identifying, you can think of it as a correlation token. If you want to set more details, like an email address, you can - and that will provide more info in Raygun, but you don't have to.

Generally speaking, I'm not personally keen to drop qualitative features. But, going back to the start of my reply, I'd be happy to find a way to avoid cookies if possible :-) I'd also ask to know the reason you're unhappy with Raygun setting a cookie (plenty of good reasons, just curious of yours).

I hope that helps explain the thinking!

from raygun4php.

ctadlock avatar ctadlock commented on May 24, 2024

You're letting an error tracking component bleed features into other parts of the application and then forcing an implementation. Too many assumptions in this design about the system it will be used in. What if the consuming system doesn't support cookies such as a REST API? Or not even have the concept of a user? Or already have a different user id storage mechanism? Why not just use the client IP address as a proxy for user rather than expecting people to store personally identifiable information in you system? Why would you need three cookies for this?

This resolved my Airbrake vs Raygun question.

from raygun4php.

fundead avatar fundead commented on May 24, 2024

Thanks for the feedback. We will be adding a feature to disable the user tracking which will appear in a release shortly along with #42. This will take care of systems which do not support the concept as in your first and second points.

The user having a different user ID storage mechanism is specifically taken care of by the fact that SetUser takes parameters which they can use to specify their custom IDs and any other (optional) data they wish. This is in line with the other providers and the overall goal for Raygun to provide a first-class experience around visualizing where and why their errors are occurring, and to whom, as John-Daniel has previously mentioned.

By default we do not use or expect personally identifiable information such as the end-user IP address to identify the end user - as a result a UUID is stored against them. The user is of course free to provide the IP address as an ID to SetUser() if they so choose. Three cookies are used due to needing to record whether a random UUID was assigned or whether a user-specified ID was provided, and the isAnonymous field is for feature-parity with the other providers and is reserved for usage by Raygun at a later date.

from raygun4php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.