I’m benchmarking my new Haskell SDK and it seems that UUID v4 generation is adding quite a bit of overhead. Is it really necessary? Can a sequential UUID be used? Or UUID v1?
The value must be random. If two event IDs collide, one of the events will be effectively lost.
Should it be unique for the entire Sentry instance or just within the project? (Especially when using the SaaS version of Sentry)
Per-organization should suffice without breaking the product, however I sense that you’re about to commit a terrible hack. The user expectation is that they don’t see a single ID twice, and a user may belong to multiple organizations.
I would make whatever behavior you’re considering opt-in as no SDK attempts to test the boundaries of uniqueness of those IDs. As far as I can tell doing anything but uuid4() prevents you from safely running multiple instances of your application, be it whether they are sending to the same project or not.