Spread the Love: Appreciating Our Pollinators Community
Tags: observability, opensource, community, honeycomb
Published: 2020-11-02 17:27:54

<span style="font-weight: 400;">Have you heard the buzz about observability with Honeycomb 🐝? It’s the best tool on the market for observing your systems in real time to reduce toil and delight users. But don’t listen to us, listen to our buzzing community of “Pollinators”--this blog post is dedicated to them 💖</span>

<span style="font-weight: 400;">An invite is sent to our shared Slack workspace “Pollinators” to everyone who signs up for Honeycomb. As a customer advocate at Honeycomb, my goal is to help you find the right path at Honeycomb, and Pollinators is the welcome wagon that helps me help you 🌟</span>

<span style="font-weight: 400;">Whether you’re kicking the tires, you’re new to observability, or your team is actively evaluating Honeycomb, the first step is signing up for Honeycomb and jumping into what your new world with observability can look like. Sign up for free at </span><a href="https://honeycomb.io/signup"><span style="font-weight: 400;">honeycomb.io/signup</span></a><span style="font-weight: 400;"> or </span><a href="https://www.honeycomb.io/contact-us/"><span style="font-weight: 400;">reach out to our sales team</span></a><span style="font-weight: 400;"> for an Enterprise trial, and check the email you signed up with for the Pollinators Slack invitation. (Or</span><a href="https://join.slack.com/t/honeycombpollinators/shared_invite/zt-fv552707-y8m40UD2_~jonb1n9r5cNg"> <span style="font-weight: 400;">follow this direct link to request an invite</span></a><span style="font-weight: 400;"> 😉)</span>

<span style="font-weight: 400;">Who’s in Pollinators? Well, hopefully you soon 😊! The Hive’s rallying cry is </span><b>Honeycomb Users and Honeycombers helping Honeycomb Users.</b><span style="font-weight: 400;"> All Honeycombers are in the Slack workspace. Our superstar engineers, developer advocates, and customer success team are in there, ready to answer your questions! Who else? Our customers, fellow trial-ers, and folks in our free tier. So if you have a question about how to get started, what to try with your stack, or questions about topics like SLOs (Service Level Objectives), tracing, events, and more, our community is here to help 🐝💖✨</span>

<span style="font-weight: 400;">Thank you to everyone who actively participates in Pollinators. Every day, we see unbounded kindness, curiosity, and helpfulness. And the Bees from Honeycomb are so thankful to have folks in our community discuss not only their technical questions, but their philosophical approaches to observability.</span>

<span style="font-weight: 400;">With love,</span>

<span style="font-weight: 400;">Jenni &amp; the Bees</span>
<h2>Some Recent Highlights</h2>
<h3><span style="font-weight: 400;">Getting Started with a Little Help from Our Friends</span></h3>
<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-5.png"><img class="aligncenter size-full wp-image-7289" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-5.png" alt="Nicholas Moorcroft (Zappi.io) 9:01 AM Hey again! I'm still on manual tracing and I'd now like to get my traces to propagate between my SPA and back-end Rails apps. I may have missed something but I don't see anything in the docs about cross-app propagation. Scenario: I'm wondering if there is a specific honeycomb header I can manually attach to my back-end requests? Example code: trace = { span_id: 123, trace_id: 444 } xhr.setRequestHeader('X-Honeycomb-Trace', trace) Where my Rails beeline will automatically check for the header, extract the trace and then use the span_id 123 as the parent for the next &quot;unit of work&quot; done by my Rails app." width="1298" height="862" /></a>

<span style="font-weight: 400;">Nicholas Moorcroft, Software/Observability Engineer at</span> <a href="https://zappi.io"><span style="font-weight: 400;">Zappi</span></a><span style="font-weight: 400;">, is based in South Africa--thankfully, our community is timezone-agnostic with Pollinators all over the globe! Honeycomb’s product and community are deeply ingrained with the philosophy that learning from each other makes the journey that much better. With a little help from our friends, Nicholas got his tracing with the</span> <a href="https://docs.honeycomb.io/getting-data-in/ruby/beeline/"><span style="font-weight: 400;">Ruby-Beeline</span></a><span style="font-weight: 400;">, which is automatic instrumentation for Ruby applications, up and running at the start of his Honeycomb evaluation with our free-tier.</span>

<span style="font-weight: 400;"> </span><span style="font-weight: 400;">In Nicholas’ own words: </span>
<blockquote><span style="font-weight: 400;">“</span><i><span style="font-weight: 400;">What was really helpful at that point was when Pedro from carwow pointed out a part of the ruby-beeline code which seemed relevant. It provided some direction for me and I was able to find the actual part of the code I was interested in</span></i><span style="font-weight: 400;">.</span>

<i><span style="font-weight: 400;">The thing I appreciate most about a Slack approach to community and engagement is that it can, and has, brought together a group of active users. Both technical and non-technical and allowed us to converse with one another. </span></i><b><i>This is awesome in an age where companies can have varied tech stacks and face similar, but different, challenges when instrumenting new technologies.</i></b><i><span style="font-weight: 400;"> Additionally we get the benefits of having a direct line of communication with the business itself, be that for feedback or just general chatter.”</span></i></blockquote>
<span style="font-weight: 400;">Zappi is an ad and innovation testing platform built by brands for brands, and is now one of Honeycomb’s newest Pro-tier customers 👋Welcome to the hive, Zappi!</span>
<h3><span style="font-weight: 400;">Teamwork Makes the Dream Work - Discover Errors, Fix the Problem, Share the Knowledge, &amp; Share the Love 💖</span></h3>
<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-6.png"><img class="aligncenter size-full wp-image-7288" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-6.png" alt="Ryan Ordway (orst.edu) 4:01 PM Honeycomb just helped me prove to our central IS group that the chain certificate for api.oregonstate.edu was expired. we get most of our SSL certs through Internet2/InCommon, and one of their intermediates expired over the weekend 100% of our oauth requests were failing. logins were still working, and deposits were still working. none of our triggers caught it. I just happened to see 100% failures on that endpoint as I was exploring the dataset to plan for building a dynamic sampler :facepalm: time to write more triggers I guess" width="1224" height="1046" /></a>

<span style="font-weight: 400;">Ryan Ordway, DevOps Engineer at <a href="https://github.com/osulp">Oregon State University Libraries &amp; Press (OSULP)</a>, gives Honeycomb some sugar in the #love channel where Ryan was able to show his team that their chain certificate for their API was expired. </span>

<span style="font-weight: 400;">In Ryan’s own words:</span>
<blockquote><i><span style="font-weight: 400;">“It ended up not being a MAJOR issue because the API call that was failing can fail without preventing the rest of the app from loading, but it was causing a little bit of slowness. But having the API call instrumented (with the beeline, since it instruments external HTTP calls) allowed us to see the errors and alert the team on campus that manages that API so they could fix it.”</span></i></blockquote>
<span style="font-weight: 400;">Ryan’s team is using Honeycomb Triggers for these particular issues--</span><a href="https://docs.honeycomb.io/working-with-your-data/triggers/#docs-sidebar"><span style="font-weight: 400;">Triggers</span></a><span style="font-weight: 400;"> let you receive notification when your data in Honeycomb crosses the thresholds you configure, you can think of them to be like alerts. </span>

<span style="font-weight: 400;">Ryan has also been a guest contributor to the Honeycomb Blog, see his piece here on how </span><a href="https://www.honeycomb.io/blog/honeycomb-at-osu-libraries-press/"><span style="font-weight: 400;">adopting observability at OSULP &amp; Honeycomb</span></a>: <span style="font-weight: 400;">“</span><i><span style="font-weight: 400;">The most important thing for us is saving money. I’ve finished migrating all of our tracing from our other vendor to Honeycomb, using the same little Honeycomb sandbox from when I started this adventure. Even better, I did it without having to pay more money. That’s huge!</span></i><span style="font-weight: 400;">”</span>

<span style="font-weight: 400;">In the future, Ryan hopes his small but mighty team will be measuring their Service Level Indicators (SLIs) and SLOs with Honeycomb 🐝💪 Thank you Ryan for all of your contributions to our community, content, and product, we wouldn’t be the same without you!</span>
<h3><span style="font-weight: 400;">Test in Production, Watch Deploys in Real-Time, Share Context Across Teams</span></h3>
<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-8.png"><img class="aligncenter size-full wp-image-7286" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-8.png" alt="matt (geckoboard) 6:58 AM The other week honeycomb helped us realise that one of our frequently used queries was doing a full table scan rather than using an index because it was filtering based on UPPER(id), but the index is on id. Can you see where we deployed the fix? :joy:" width="1182" height="1136" /></a>

<span style="font-weight: 400;">Honeycomb’s rallying cry has always been that we test in production, and much of our community does the same. Matt Button, Senior Infrastructure Engineer at <a href="https://www.geckoboard.com/">Geckoboard</a>, discovered something peculiar going on in the backend and the team was able to deploy the fix &amp; see the results in real-time 👀 </span>

<span style="font-weight: 400;">In Matt’s own words:</span>
<blockquote><span style="font-weight: 400;">“</span><i><span style="font-weight: 400;">We were using some trace waterfalls to show a frontend engineer how the work the backend did differs when you change certain arguments in the request. While looking at one of the traces we noticed that one of the DB queries was actually taking up quite a large chunk of the request time, even though it should’ve been one of the fastest in that request. </span></i>

<i><span style="font-weight: 400;">When we looked into it we realised that query wasn’t using the indexes we’d defined for it, which meant the time to execute that query could vary a fair bit, as seen in the “before” section of that pic. It turns out the id field was never going to have mixed-case characters, so the query didn’t need to filter on UPPER(id). That was the fix we rolled out in the screenshot (above).</span></i><span style="font-weight: 400;">”</span></blockquote>
<span style="font-weight: 400;">Having full-stack visibility is crucial for being able to ask any question of your system. </span>

<span style="font-weight: 400;">Geckoboard built their own system health dashboards and had been using standard log search tools since the time when log search was new and shiny. But as their business has scaled up, so did their need to understand who is affected by a given issue, and Honeycomb helped them start connecting the dots.</span>

<span style="font-weight: 400;">Read more about Geckoboard’s experiences with Honeycomb:</span>
<ul>
 	<li style="font-weight: 400;"><span style="font-weight: 400;">Geckoboard Case Study: </span><a href="https://www.honeycomb.io/case-studies/geckoboard-gets-context-keep-customers-happy-without-breaking-the-bank/"><span style="font-weight: 400;">Geckoboard Gets the Context They Need to Keep Customers Happy Without Breaking the Bank</span></a></li>
 	<li style="font-weight: 400;"><span style="font-weight: 400;">Honeycomb for incident response, featuring Matt Button: </span><a href="https://www.honeycomb.io/blog/take-huge-leaps-with-honeycomb-for-incident-response/"><span style="font-weight: 400;">Take huge leaps with Honeycomb for Incident Response</span></a></li>
</ul>
<span style="font-weight: 400;">Thank you Matt for your endless contributions to Honeycomb &amp; the Pollinators community!</span>
<h3><span style="font-weight: 400;">Sampling: One of Life’s Unavoidable Truths - Refine Your Data Without Losing Fidelity</span></h3>
<span style="font-weight: 400;">Sampling is like eating your vegetables - you have to do it or else you’ll be in pain later 🥦💪 but also like vegetables, sampling is unique to your system, different depending on what you want, oddly shaped, and (may) give you gas 😂 depending on who you ask. Benjamin Franklin missed the third </span><a href="https://en.wikipedia.org/wiki/Death_and_taxes_(idiom)#:~:text=Death%20and%20taxes%20is%20a,certain%2C%20except%20death%20and%20taxes."><span style="font-weight: 400;">unavoidable truth in life</span></a><span style="font-weight: 400;">, so I’ll revise it here: “in this world, nothing is certain but sampling, death, and taxes”. </span>

<span style="font-weight: 400;">For teams running workloads at scale, the question becomes: are all of my events worth keeping? How can I reduce overall event volume while maintaining fidelity? Sampling is a complex science and intuitive art, just ask your local statistician, or any engineer trying to find a needle in a haystack. </span>

<span style="font-weight: 400;">The best resource when trying to learn new techniques is to learn from each other:</span>

<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-7.png"><img class="aligncenter size-full wp-image-7287" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-7.png" alt="Molly Struve 2:37 PM Little late to this conversation but @Ryan Ordway (orst.edu) we created a super handy redis and SQL sampler for dev.to that has been working marvelously. https://github.com/thepracticaldev/dev.to/blob/master/app/lib/honeycomb/noise_cancelling_sampler.rb You might not need all of it but feel free to use it as a template or get some ideas! app/lib/honeycomb/noise_cancelling_sampler.rb" width="1170" height="738" /></a>

<span style="font-weight: 400;">Molly Struve, Lead Site Reliability Engineer at </span><a href="https://dev.to/"><span style="font-weight: 400;">dev.to</span></a><span style="font-weight: 400;">, shares her Redis &amp; SQL Sampler with Pollinators as a template for people to learn from! Honeycomb has partnered with the Forem team to use their open-source production code to help pay it forward for the community. You can read about their Honeycomb journey in our HoneyBytes series, including the latest sampling post where we walk through the very implementation Molly shared above!</span>
<ul>
 	<li style="font-weight: 400;"><a href="https://www.honeycomb.io/blog/honeybyte-beeline-dev-molly-struve/"><span style="font-weight: 400;">HoneyByte: Make a Beeline Toward Observability Just Like DEV's Molly Struve</span></a></li>
 	<li style="font-weight: 400;"><a href="https://www.honeycomb.io/blog/honeybyte-incremental-instrumentation-beyond-the-beeline/"><span style="font-weight: 400;">HoneyByte: Incremental Instrumentation Beyond the Beeline</span></a></li>
 	<li style="font-weight: 400;"><a href="https://www.honeycomb.io/blog/honeybyte-get-a-taste-for-sampling/"><span style="font-weight: 400;">HoneyByte: Get a Taste for Sampling</span></a></li>
</ul>
<span style="font-weight: 400;">In Molly’s own words:</span>
<blockquote><span style="font-weight: 400;">“</span><i><span style="font-weight: 400;">The project I work on, Forem is a completely open source platform which makes it super easy to share our Honeycomb integration with others. Always happy to help where I can. Honeycomb is still pretty young so I think it’s important to have example projects that people can use as templates for their own setups</span></i><span style="font-weight: 400;">”</span></blockquote>
<span style="font-weight: 400;">Thank you for your dedication to educating others Molly!</span>

<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pix-4.png"><img class="aligncenter size-full wp-image-7290" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pix-4.png" alt="polotek (Mode) 3:11 PM We have taken a first pass at dynamic sampling in our rails codebase. I thought I’d share a little bit. I’ve been following the guidance here https://docs.honeycomb.io/working-with-your-data/best-practices/sampling/#dynamic-sampling. And also listened to @lizf (Honeycomb)’s great talk here. https://www.youtube.com/watch?v=HFnBHA6NWUE The configuration is super simple. We were using static sampling and we put this behind a feature flag. config.sample_hook do |fields| if use_dynamic_sampling? Honeycomb::DynamicSampler.sample(fields) else # This essentially replicates the static sampling that honeycomb # does by default when the &#96;sample_rate&#96; config value is set. But # we need to do it here to support the dynamic feature flag Honeycomb::StaticSampler.sample(fields) end end" width="1182" height="884" /></a>

<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-3.png"><img class="aligncenter size-full wp-image-7291" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-3.png" alt="You’ll notice that we had to create a little static sampler class along with the dynamic sampler. This is because there doesn’t seem to be a good way to fall back to default behavior after you’ve invoked the sample_hook. module Honeycomb class StaticSampler extend Honeycomb::DeterministicSampler def self.sample(fields) sample_rate = fields['sample_rate'] || Config.sample_rate [should_sample(sample_rate, fields['trace.trace_id']), sample_rate] end end end" width="1166" height="602" /></a>

<span style="font-weight: 400;">Additionally, Marco Rogers, Senior Software Engineer at <a href="https://mode.com/">Mode Analytics</a>, shares his approach to dynamic sampling in the Open Source Ruby Beeline SDK Channel and what ensues after is an awesome 🤩 exchange between users and Honeycomb collaborating with tips, tricks, and sampling kickflips. </span>

<span style="font-weight: 400;">In Marco’s own words:</span>
<blockquote><span style="font-weight: 400;">“</span><i><span style="font-weight: 400;">We needed to control the overall volume of events, but we wanted to keep every single thing that might indicate a problem. So dynamic sampling for us was about how to identify a successful (boring) event vs one that might have useful debugging data on it. Turns out that’s not as easy as throwing away all of the 200 status codes.</span></i><span style="font-weight: 400;">”</span></blockquote>
<span style="font-weight: 400;">Thank you for all of your contributions to Pollinators, Marco! The new-bees have lots to learn from you!</span>

<span style="font-weight: 400;">At Honeycomb, we recognize how important &amp; tricky it is to sample correctly. Below are some resources (like the ones mentioned in Marco’s message) to help you understand and apply the  sampling method that works for you. </span>
<ul>
 	<li style="font-weight: 400;"><a href="https://www.honeycomb.io/blog/honeybyte-get-a-taste-for-sampling/"><span style="font-weight: 400;">HoneyByte: Get a Taste for Sampling</span></a><span style="font-weight: 400;"> blog post (the one about dev.to!)</span></li>
 	<li style="font-weight: 400;"><a href="https://www.honeycomb.io/blog/getting-at-the-good-stuff-how-to-sample-traces-in-honeycomb/"><span style="font-weight: 400;">Getting At The Good Stuff: How To Sample Traces in Honeycomb</span></a><span style="font-weight: 400;"> blog post</span></li>
 	<li style="font-weight: 400;"><span style="font-weight: 400;"><a href="https://docs.honeycomb.io/working-with-your-data/best-practices/sampling/#dynamic-sampling">Honeycomb Docs: Best Practices for Dynamic Sampling</a></span></li>
 	<li style="font-weight: 400;"><a href="https://www.youtube.com/watch?v=HFnBHA6NWUE">Refining Systems Data without Losing Fidelity</a>, talk by Principal Developer Advocate Liz-Fong Jones</li>
</ul>
<h3><span style="font-weight: 400;">System Optimization - Find Your Bottlenecks </span></h3>
<a href="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-2.png"><img class="aligncenter size-full wp-image-7293" src="https://www.honeycomb.io/wp-content/uploads/2020/07/pic-2.png" alt="pedro (carwow) 6:48 AM What a DB index can do. :smile: We noticed some bad performing endpoints on a user facing service and noticed a pattern similar to this one, after looking at some traces and looking at a few of the upstream services we noticed that same pattern on one of them. This pattern kind of pointed to a missing DB index depending on the query parameters passed to the API endpoint. We made a small change to test the hypothesis which affected just a small set of those requests (you can see a small drop on the left part of the chart), then we decided to do same to change to all of the same type of query parameters which we identified from Honeycomb BubbleUp and GroupBy and that is the drop you see on the right. This reduced the P99(duration) by an order of magnitude, from 1s to 100ms. We still have a few unoptimised combinations, but not too critical for the time being." width="1162" height="914" /></a>

<span style="font-weight: 400;">In distributed systems, small inefficiencies can create performance bottlenecks at scale. Pedro Chambino at </span><a href="https://www.carwow.co.uk/"><span style="font-weight: 400;">carwow</span></a><span style="font-weight: 400;"> was able to observe some experimental optimizations with Honeycomb--again, testing in production!</span>

<span style="font-weight: 400;">Plus, seeing examples of how other people use Honeycomb can help you get more out of the tool. In Pedro’s own words:</span>
<blockquote><span style="font-weight: 400;">“</span><i><span style="font-weight: 400;">I think it has been more about being connected with the community and being able to learn about new features/changes to Honeycomb and how other people are using them. This was specially true with sampling, heatmap, and SLOs. Also, learning how we can use Honeycomb in more contexts, e.g. buildevents and airflow.</span></i><span style="font-weight: 400;">”</span></blockquote>
<h2><span style="font-weight: 400;">Taking It to the Tweets</span></h2>
<span style="font-weight: 400;">We love when the community takes to Twitter to share their Honeycomb experiences with the greater tech community. Here’s a fun one from Julian Simioni, Co-Founder of <a href="https://geocode.earth/">Geocode Earth</a>:</span>

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ha72rnasg77qu3sfg14x.png)

<a href="https://twitter.com/honeycombio"><span style="font-weight: 400;">Follow @honeycombio on Twitter</span></a><span style="font-weight: 400;">, there’s plenty more where that came from. And tag us in your own stories!</span>
<h2><span style="font-weight: 400;">Shout Out to Our Community of Contributors</span></h2>
<span style="font-weight: 400;">While we’re showing our appreciation, check out our community of contributors. This is only going back to December 2019! When you upstream your improvements into our OSS codebases, it makes those changes available to the rest of the user community. Help us help you 💞</span>

<strong><a href="https://github.com/honeycombio/beeline-go">Go Beeline</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/jdub"><span style="font-weight: 400;">https://github.com/jdub</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/memory"><span style="font-weight: 400;">https://github.com/memory</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/Nalum"><span style="font-weight: 400;">https://github.com/Nalum</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/beeline-ruby">Ruby Beeline</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/mrchucho"><span style="font-weight: 400;">https://github.com/mrchucho</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/timcraft"><span style="font-weight: 400;">https://github.com/timcraft</span></a><span style="font-weight: 400;">  </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/irvingreid"><span style="font-weight: 400;">https://github.com/irvingreid</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/terracatta"><span style="font-weight: 400;">https://github.com/terracatta</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/ajvondrak"><span style="font-weight: 400;">https://github.com/ajvondrak</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/polotek"><span style="font-weight: 400;">https://github.com/polotek</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/cade"><span style="font-weight: 400;">https://github.com/cade</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/beeline-python">Python Beeline</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/reuben-sutton"><span style="font-weight: 400;">https://github.com/reuben-sutton</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/jwise"><span style="font-weight: 400;">https://github.com/jwise</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/noam-stein"><span style="font-weight: 400;">https://github.com/noam-stein</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/beeline-nodejs">Node Beeline</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/kenmclennan"><span style="font-weight: 400;">https://github.com/kenmclennan</span></a><span style="font-weight: 400;">  </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/mikesimons"><span style="font-weight: 400;">https://github.com/mikesimons</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/jugglingthebits"><span style="font-weight: 400;">https://github.com/jugglingthebits</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/camerondunn-ns8"><span style="font-weight: 400;">https://github.com/camerondunn-ns8</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/BRMatt"><span style="font-weight: 400;">https://github.com/BRMatt</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/beeline-java">Java Beeline</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/jdcasey"><span style="font-weight: 400;">https://github.com/jdcasey</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/libhoney-go">libhoney-go</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/jdub"><span style="font-weight: 400;">https://github.com/jdub</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/libhoney-rb">libhoney-rb</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/BRMatt"><span style="font-weight: 400;">https://github.com/BRMatt</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/libhoney-js">libhoney-js</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/MarcoPolo"><span style="font-weight: 400;">https://github.com/MarcoPolo</span></a></li>
</ul>
<strong><a href="https://github.com/honeycombio/opentelemetry-exporter-go">OpenTelemetry Go Exporter</a></strong>
<ul>
 	<li style="font-weight: 400;"><a href="https://github.com/dnsmichi"><span style="font-weight: 400;">https://github.com/dnsmichi</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/seh"><span style="font-weight: 400;">https://github.com/seh</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/Aneurysm9"><span style="font-weight: 400;">https://github.com/Aneurysm9</span></a><span style="font-weight: 400;">  </span></li>
 	<li style="font-weight: 400;"><a href="https://github.com/subnova-etsy"><span style="font-weight: 400;">https://github.com/subnova-etsy</span></a><span style="font-weight: 400;"> </span></li>
 	<li style="font-weight: 400;"><span style="font-weight: 400;"><a href="https://github.com/Strum355">https://github.com/Strum355</a></span></li>
</ul>
<a href="https://github.com/honeycombio/third-party-contrib"><span style="font-weight: 400;">We also track third-party contributions!</span></a><span style="font-weight: 400;"> Have a cool Honeycomb project? Open a pull request and we’ll add it to the list 👩‍💻✨</span>
<h2>Join the Hive</h2>
See what all the buzz is about! <a href="https://join.slack.com/t/honeycombpollinators/shared_invite/zt-fv552707-y8m40UD2_~jonb1n9r5cNg">Request an invite to the Pollinators Slack</a> today 🐝🍯💖

Not using Honeycomb yet? Sign up today [for free] (https://ui.honeycomb.io/signup?&utm_source=Devto&utm_Devto=blog&utm_campaign=referral&utm_keyword=%7Bkeyword%7D&utm_content=spread-the-love-appreciating-our-pollinators-community).