Training Video

Intro to o11y Topic 3: Get Your Own Sample App



The Intro to o11y video tutorial series will use a sample app called Sequence of Numbers to demonstrate Honeycomb’s functionality. In this video, Developer Advocate Jessica Kerr covers how to get that app up and running yourself.

Download the Sequence of Numbers application in Javascript here: GitHub. If you prefer another language, the Sequence of Numbers app is also available in Go (Glitch, GitHub), Python (Glitch, github), Java (Glitch, GitHub), and .NET (Glitch, GitHub).

if you’re a Glitch user, you can also remix the app there


Jessica Kerr [Developer Advocate|Honeycomb]:

It’s time to get a Sequence of Numbers app of your very own. Here I am at and I want to find the right repository. I want intro to observability. There are several you could choose from to clone. In this course, I’m going to choose my personal favorite, which is node.js. I will copy the repository URL. I will clone this repository.

Now I’m going to open this in VScode. You’re free to use whatever IDE you want. There are sets of instructions for each of the projects in the reading. However you do your setup, get to a terminal and run NPM install, and then try NPM start listening on port 3000.  Hit localhost:3000 in the browser, and see the Sequence of Numbers. Push go, let it get slow, push stop. Okay! I have had the user experience in the Sequence of Numbers app.

It got a little show. I can push control+shift+I to open the debugging tools in the browser. I can open the network tab, click go and stop again, and see in the waterfall view that the requests get slower. But what is happening in the server? Whenever I see a long rectangle in this waterfall view, I want to break it up. What is going on in there? Now, I know in this tiny little code app, you could just open the code. It’s pretty much one file.

But the point is to represent an entire microservices ecosystem. In the real software you work with, how many files are there? Dozens, probably hundreds. And this one toy application represents an entire microservice ecosystem. What service does that request even hit? Where does the code start?

This can be hard. So let’s pretend right now that this app is a little more complicated than it is, and we’re going to put some data in Honeycomb and then these answers will become obvious.