Google Certified Associate Cloud Engineer 2020

Sign Up Free or Log In to participate!

Difference between Cloud Trace, Debugger, Monitoring, and Error Reporting?

Going back through some videos for a second time, and I am a bit confused on what the differences are between the different Stackdriver services (have since been renamed and dropped the ‘Stackdriver’ title).

Correct me if I’m wrong, or if I am missing anything that’s important from my understanding of the three let me know, but here is my current "big picture" guess/understanding of them:

Trace is for tracking latency/delays in the machines/services that your application is run on.
Monitoring is also for tracking latency issues(???), + other performance metrics (I think of this sort of as the "doctor" that can notice a lot of different issues like if a patient isn’t breathing, patient heart stopped, patient is having a seizure, etc..).
Error reporting is specifically for showing you where there are errors happening in the code of your application, like what you get from a code editor like Eclipse.
Debugger is basically the same as Error Reporting? Not really sure what the difference is between the two.
Logging is for logging basically anything that happens. Sort of just like a list of things that have happened in your application.

I’m having particular trouble figuring out the differences between Trace & Monitoring, and Debugger & Error Reporting. It seems like both of those pairs do sort of the same thing. If anyone could explain to me a little more about what differentiates each one, and possibly even an easy to understand use case for each one, that would be awesome. Thank you

1 Answers

Let me try to explain in simple words.

Trace is for tracking latency/delays in the machines/services that your application is run on.

Monitoring is also for tracking latency issues(???), + other performance metrics

Here is an analogy: Imagine you have to monitor the time to transfer a network packet from Source (S) to Destination (D). You have to keep doing this activity for all the packets on the network from S -> D. Also you find out what is the average time it takes for the network packet to propagate. Additionally, you are also interested in trends on what time of the day packet transfer time is the highest and lowest.

To do all this you need two things: (1) you need a probe (or mechanism) to capture packet transfer time. (2) you need a system which can store information sent by the probe and also build analytics (dashboards + charts) to do timing analysis and predictions.

In this case Trace acts as a Probe and Monitoring system acts to capture telemetry data + dashboards

[Debugger is basically the same as Error Reporting?]

Debugger (either GCP Debugger or any other debugger) is used to debug the code for issues, by doing step-by-step debugging.

Error Reporting is a kind of analytic tool for errors; this tools keeps an eye on application logs and aggregates similar errors. This tool will alert the application teams when an error occurs and provides details on that error. Error Reporting comes first and the next step is debugging.

Hope this helps!

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?