Skip to content

Commit

Permalink
Remove honeycomb. I don't know how to use it and it's expensive with …
Browse files Browse the repository at this point in the history
…my traffic.

Resources from the honeycomb folks in slack:

Kent C. Dodds Today at 12:51 PM
Hi friends 👋  I added honeycomb to my node.js site and now that it's launched and gets over 50k page views a day I'm going way over my limit. Thing is that I don't know how to make use of honeycomb. I pretty much just want to be notified whenever there are unusual things going on (lots of 404s, long response times, etc). I've got the basic telemetry stuff set up. The dashboard seems like it's only usable by someone who knows what they're doing and that's definitely not me. Anyone got tips?
8 replies

Levi Wilson  10 minutes ago
if you're going way over your limit, you may want to look into setting up a refinery server so you can do trace-level sampling to rule out "uninteresting" traces

Levi Wilson  10 minutes ago
and start with setting up specific "interesting" requests you'd like to see

Levi Wilson  9 minutes ago
https://docs.honeycomb.io/manage-data-volume/refinery/sampling-methods/#rule-based-sampling Rules Based Sampling is what we use and it works quite well
docs.honeycomb.iodocs.honeycomb.io
Supported Sampling Methods | Honeycomb
How sampling decisions are made

Levi Wilson  8 minutes ago
re: the dashboard, you might want to go into your schema definitions to define things like what it means for a "route" so the home screen will be more useful (as well as "errors", "users", etc.)

Kent C. Dodds  8 minutes ago
Cool, thanks for the resources and ideas 🙂 (edited)

Ryan Brown  7 minutes ago
+1 for rule sampling

Levi Wilson  5 minutes ago
one concern you might have, however, with refinery is if you've that much traffic...adequately sizing it will be important

Levi Wilson  4 minutes ago
https://docs.honeycomb.io/manage-data-volume/refinery/scale-and-troubleshoot/ has deets on that
docs.honeycomb.iodocs.honeycomb.io
Scale and Troubleshoot | Honeycomb
Scaling and troubleshooting a Refinery cluster
  • Loading branch information
kentcdodds committed Oct 6, 2021
1 parent d711f56 commit 064fd01
Show file tree
Hide file tree
Showing 5 changed files with 2 additions and 79 deletions.
2 changes: 0 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ ENABLE_TEST_ROUTES=true
# We'll label them by what feature you need them for and whether it's mocked.

SENTRY_DSN=some_fake_dsn
HONEYCOMB_API_KEY=some_fake_honeycomb_key
HONEYCOMB_DATASET=kcd

# Feature: /contact and /login
# Mocked: yes
Expand Down
1 change: 0 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ WORKDIR /app/

ADD package.json package-lock.json .npmrc ./
ADD other/patches ./other/patches
ADD other/tracing.js ./other/tracing.js
RUN npm install --production=false
RUN npx metronome setup

Expand Down
1 change: 0 additions & 1 deletion content/blog/how-i-built-a-modern-website-in-2021.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ Here are the services this site uses:

- Fly.io: Super hosting platform
- GitHub Actions: Hosted CI pipeline service
- Honeycomb: Telemetry service
- Sentry: Error reporting service
- Cloudinary: Fantastic image hosting and transformation service.
- Fathom: Privacy-focused ethical analytics service.
Expand Down
67 changes: 0 additions & 67 deletions other/tracing.js

This file was deleted.

10 changes: 2 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
"build": "npm run build:css:prod && npm run build:remix && node ./other/generate-build-info",
"dev": "pm2-dev ./other/pm2.config.js",
"runfile": "node ./other/runfile.js",
"start": "cross-env NODE_ENV=production node --require ./node_modules/dotenv/config --require ./other/tracing.js ./index.js",
"start:mocks": "cross-env NODE_ENV=production node --require ./mocks --require ./node_modules/dotenv/config --require ./other/tracing.js ./index.js",
"start": "cross-env NODE_ENV=production node --require ./node_modules/dotenv/config ./index.js",
"start:mocks": "cross-env NODE_ENV=production node --require ./mocks --require ./node_modules/dotenv/config ./index.js",
"curl:blog": "curl --silent http://localhost:$PORT/blog > /dev/null",
"prime-cache:prod": "PORT=4001 npx start-server-and-test start http-get://localhost:4001/build/info.json curl:blog && echo cache primed ⚡️",
"prime-cache:mocks": "PORT=4001 npx start-server-and-test start:mocks http-get://localhost:4001/build/info.json curl:blog && echo cache primed ⚡️",
Expand All @@ -56,12 +56,6 @@
"@metronome-sh/react": "^1.0.5",
"@octokit/plugin-throttling": "^3.5.2",
"@octokit/rest": "^18.11.1",
"@opentelemetry/api": "^1.0.3",
"@opentelemetry/auto-instrumentations-node": "^0.25.0",
"@opentelemetry/exporter-collector-grpc": "^0.25.0",
"@opentelemetry/resources": "^0.25.0",
"@opentelemetry/sdk-node": "^0.25.0",
"@opentelemetry/semantic-conventions": "^0.25.0",
"@prisma/client": "^3.1.1",
"@reach/accordion": "^0.16.1",
"@reach/auto-id": "^0.16.0",
Expand Down

1 comment on commit 064fd01

@kentcdodds
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got these messages later. Might be able to bring this back without too much trouble maybe...

Ben Darfler (Honeycomb) October 6th at 1:13 PM
Refinery might be a bit of your lift if you are just starting out. You might start with basic sampling in the client. If you are using the node.js beeline those docs are here.

Ben Darfler (Honeycomb) October 6th at 1:18 PM
And the documentation for @levi Wilson’s suggestion of updating your schema definitions is here

lizf (Honeycomb) October 6th at 1:19 PM
the main advice I'd suggest is to turn down the verbosity of your auto-instrumentation

lizf (Honeycomb) October 6th at 1:19 PM
50k views per day shouldn't be a problem on our free tier

Please sign in to comment.