Skip to content

Instantly share code, notes, and snippets.

Nathan LeClaire nathanleclaire

Block or report user

Report or block nathanleclaire

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
package com.mycompany.servlet.filterlistener;
import io.honeycomb.beeline.DefaultBeeline;
import io.honeycomb.beeline.tracing.Span;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
INFO[0000] accepted connection                           authority= port=80
INFO[0000] basic authentication accepted                 user=foo
INFO[0000] processing request                            path=/super/slow/server
INFO[0000] sent response code                            status=200
INFO[0000] closed connection                             authority=
View events.js
$('body').on("click mousedown mouseup focus blur keydown change dblclick mousemove mouseover mouseout mousewheel keydown keyup keypress textInput touchstart touchmove touchend touchcancel resize scroll zoom select change submit reset",function(e){
public static class DatabaseService {
public void queryDb(String id) {
try (Span childSpan = beeline.startChildSpan("customer-db-query")) {
String data = getCustomerDataById(id);
childSpan.addField("customer-data", data);
public String getCustomerDataById(String id) {

create a new network

$ docker network create test

create a container to listen

$ docker run -d --net test --network-alias listener alpine nc -l 8080
nathanleclaire / index.js
Created Feb 20, 2019
honeycombio nodejs beeline tracing without any frameworks
View index.js
const beeline = require("honeycomb-beeline")({
writeKey: "KEY",
dataset: "examples.puppeteer",
serviceName: "examples.puppeteer",
const puppeteer = require("puppeteer");
let trace = beeline.startTrace();
(async () => {

Offer direct access to the raw data iff you have a very specific idea what you are looking for already

🚫 Not ergonomic to query

🚫 Slow and hard to maintain

🚫 Tend to be full of a lot of noise

🚫 Hard to get a feel for trends


Offer lovely view of requests as they flow through your system

Offers access to the raw data making up every result

🚫 Instrumentation is hard to start small and grow outwards

🚫 Finding the traces you are interested in is difficult

🚫 Nowhere to go from problematic traces (i.e., no way to ask additional questions)

nathanleclaire / gke.hcl
Last active Sep 21, 2018
Basic setup to get a GKE cluster on Google Cloud using Terraform
View gke.hcl
variable "kube_password" {
default = "containers_r_cool"
variable "google_project" {
default = "honeycomb-test-project"
variable "google_region" {
default = "us-west1-a"
You can’t perform that action at this time.