Error tracking with Sentry on Roblox

I’m sorry but what is Raven? Is it a model, is it something owned by Sentry?

“Raven” is the name of the module that OP is using.
You can find it here: https://gitlab.com/nomer888/rbxlua-raven

3 Likes

I’m aware this could be due to the module being old, but my DSN apparently is invalid according to Raven. (returning ‘protocol not valid’)

My DSN is formatted like this (obviously not the real DSN, but should give you an idea)
https://lowercase_hexadecimal@sentry.io/some_numbers


EDIT: Nevermind. (Leaving this here for any future users)

The new DSN (which you get on the project page) is not the one the module expects. You need to go in to the project settings, Client Keys (DSN) and get the deprecated DSN.

It’d be helpful if the OP, or someone else, updates this module to work with any changes Sentry may have made.

12 Likes

I don’t have any plans to fix this issue in the near future; as you mentioned Sentry still displays the deprecated DSN, and I’m currently working on an overhaul to this module which will provide more of what Sentry has to offer.

3 Likes

Is there a pre-release version that we can look at and test out at the moment?

1 Like

I made a new repo for it here
It is at or above feature parity with the original module but some features are still missing. I’ll be updating it over the coming weeks with more features and docs. Once it’s ready I’ll make a new post for it with an updated tutorial.

8 Likes

Awesome! Thanks for this, I really appreciate what you’re doing and it’s made my life a heck of a lot easier. :blush:

1 Like

how do i disable spoofed data? im trying to send entire information but it says spoofed data there ban

Ok so I tried doing it and I am getting this error:


I had a little trouble knowing how to set up sentry as there is no roblox option when choosing a platform but I don’t know, do you know what is wrong?

The module expects a different DSN which was mentioned further up on the thread. On the page displaying the DSN click on the link as seen in the screenshot below and use that instead.

2 Likes

The creator also mentioned an updated repository which you might want to check out:

It doesn’t include the full range of features of the Raven module AFAIK

Ok thanks! I tried doing that and it fixed that problem, but now I am getting


I don’t really know what that means?

I don’t quite remember but I think it had something to do with the parameters of the function you are trying to use having been changed. Check what parameters the function accepts in the source.

1 Like

Sorry I am not the greatest scripter, especially when it has to do with getting http stuff and outside information. I am a little confused what source you mean, from what I see, the function that it is in has these parameters

eType, errorMessage, traceback, config

in the module

this is the code for the script that the module is in…

local raven = require(script.Raven)
	local client = raven:Client("https://b6e7720c208a4ff483df204628e465f9:b6aade8dcabc4035942c998515ce8db9@o610893.ingest.sentry.io/5751257")
	
	client:ConnectRemoteEvent(Instance.new("RemoteEvent", game.ReplicatedStorage))
	
	local success, err = pcall(function() error("test server error") end)
	if (not success) then
		client:SendException(raven.ExceptionType.Server, err, debug.traceback())
	end
	
	client:SendMessage("Fatal error", raven.EventLevel.Fatal)
	client:SendMessage("Basic error", raven.EventLevel.Error)
	client:SendMessage("Warning message", raven.EventLevel.Warning)
	client:SendMessage("Info message", raven.EventLevel.Info)
	client:SendMessage("Debug message", raven.EventLevel.Debug)
	
	local LogService = game:GetService("LogService")
	LogService.MessageOut:Connect(function(message, messageType)
		if (messageType == Enum.MessageType.MessageError) then
			client:SendException(raven.ExceptionType.Server, message)
		end
	end)

I also got this,

I don’t know if this helps.

Edit: Ok it is sending me errors(at least from studio), but I still can’t trace it.

Is it possible that I don’t have this installed that is causing the issue?

Let’s be honest. If you are logging errors, you would want less than 10,000 events a month. You might even want to reduce the current amount from day to day or update to update.

It’s normal for production systems to produce errors. Your production environment exercises way more scenarios than in your local development/testing due to the much higher amount of time spent in the product, and servers are longer-running. It’s completely natural to have thousands of exceptions or more per hour in top production games, and it takes time to resolve the issues. My assumption is you haven’t ever worked on a high-scale production environment before, so it makes sense you wouldn’t have any experience related to exception logging at scale.

1 Like

I suppose you mean the annoying sound not loading errors and HTTP errors that we can’t do anything about. In that case, you could just sort them before sending them off to sentry. Try to keep all the errors that get logged to a minimum.

Also, you are correct. I have not worked on a big game yet, but I hope to do so in the future. I have a friend with a few thousand concurring players, but he doesn’t log the errors because of a lack of places to do so.

No, exceptions from developer code. Developers make mistakes and write imperfect code, especially in larger teams where multiple people are contributing to a feature. This is natural and completely understandable, and a 10k limit of errors per month is not enough for top experiences of the platform.