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
View FilterExampleServlet.java
package com.mycompany.servlet.filterlistener;
import io.honeycomb.beeline.DefaultBeeline;
import io.honeycomb.beeline.tracing.Span;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
View gist.md
INFO[0000] accepted connection                           authority=10.0.0.3:63349 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=10.0.0.3:63349
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){
libhoney.sendNow(e);
});
View DatabaseService.java
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) {
View docker-network-alias-example.md

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
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 () => {
View logs.md

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

View traces.md

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
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.