Live data from Hacker News

Benchmarking OpenTelemetry: Can AI trace your failed login?

quesma.com

31–40 of 85 posts

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#31
I'm always interested in new benchmarks, so this is cool. I only had a brief look at [1] and [2], a few quick things that I noticed:

For [1]: instruction.md is very brief, quite vague and "assumes" a lot of things.

- Your task is: Add OTEL tracing to all microservices. Add OTEL logging to all microservices. (this is good)

- 6.I want to know if the microservice has OTEL instrumentation and where the data is being sent. (??? i have no idea what this means)

- 9.Use the recent version of the OTEL SDK. (yeah, this won't work unless you also use an MCP like context7 or provide local docs)

What's weird here is that instruct.md has 0 content regarding conventions, specifically how to name things. Yet in tests_outputs you have this "expected_patterns = ["order", "stock", "gateway"]" and you assert on it. I guess that makes some sense, but being specific in the task.md is a must. Otherwise you're benching assumptions, and those don't even work with meatbags :)

For [2]: instruction.md is more detailed, but has some weird issues:

- "You should only be very minimal and instrument only the critical calls like request handlers without adding spans for business calls \n The goal is to get business kind of transaction" (??? this is confusing, even skipping over the weird grammar there)

- "Draw ascii trace diagram into /workdir/traces.txt" (????)

- "When modifying Python files, use Python itself to write files or use sed for targeted changes" (? why are you giving it harness-specific instructions in your instruct.md? this is so dependent on the agentic loop used, that it makes no sense here.

- "Success Criteria: Demonstrate proper distributed tracing \n Include essential operations without over-instrumenting (keep it focused) \n Link operations correctly \n Analyze the code to determine which operations are essential to trace and how they relate to each other. (i mean ... yes and no. these are not success criteria IMO. It's like saying "do good on task not do bad". This could definitely be improved.)

----

Also, I noticed that every folder has a summary_claude... that looks like a claude written summary over a run. I hope that's not what's used in actually computing the benchmark scores. In that case, you're adding another layer of uncertainty in checking the results...

The ideea is nice, but tbf some of the tests seem contrived, your instructions are not that clear, you expect static naming values while not providing instructions at all about naming conventions, and so on. It feels like a lot of this was "rushed"? I peaked a bit at the commit history and saw some mentions of vibe-coding a viewer for this. I hope that's the only thing that was vibe-coded :)

[1] - https://github.com/QuesmaOrg/otel-bench/tree/main/datasets/o...

[2] - https://github.com/QuesmaOrg/otel-bench/blob/main/datasets/o...

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#33
post #4

If everyone else is the problem... maybe you are the problem. To me this says more about OTel than AI.

Can you help me understand where you are coming from? Is it that you think the benchmark is flawed or overly harsh? Or that you interpret the tone as blaming AI for failing a task that is inherently tricky or poorly specified? My takeaway was more "maybe AI coding assistants today aren’t yet good at this specific, realistic engineering task"....

Where I work we are looking at a lot of our documentation and implementations where AI has a hard time when doing it.

This almost always correlates with customers having similar issues in getting things working.

This has lead us to rewrite a lot of documentation to be more consistent and clear. In addition we set out series of examples from simple to complex. This shows as less tickets later, and more complex implementations being setup by customers without the need for support.

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#34
post #16

This is a little damning of the way Google does things honestly. >When an app runs on a single machine, you can often trace an error by scrolling through a log file. But when it runs across 50 microservices, that single request gets scattered into a chaotic firehose of disconnected events. Yep this is about Google. It's painful for humans to debug and it's also an extremely bespoke issue to deal with. No one else has…

It's bespoke to debug across multiple services? This seems like typical work in any business that isn't trivial.

Not to the same extent. Microservices aren't actually about making things better for developers in any way. It's simply a way to address a scaling issue.

Eg. Facebook (i've worked at Meta and Google amongst others so a good way to compare extremes) is entirely a monolith. You type a line of code, hit refresh and you see it, running fully in the context of everything else your dev server does. It's still statically typed so a type error is seen quickly in the full context of everything that the server can do and in general there's just no impetus to move to microservices since the deployment of the monolith takes no time. Every server running Facebook runs the exact same image. That's not to say Hack is a perfect language or anything. It's basically PHP made to look and act like Java which isn't great, but the fact is you never ever think of how the code runs and interacts in context of the microservice environment. You don't need to. Everyone who's worked at Meta and Google has the opinion that Meta moves faster and this is part of the reason.

Some companies have architectures that can't deploy like this. This is the reason you move to microservices. It's not at all a developer velocity win. It's just needed if you have frameworks that don't allow you to run and deploy "all the code ever written in the company" in a reasonable way. You need to break it up in modular pieces that have defined boundaries so that you only run the parts you need as you develop (defined boundaries are a dev win sure but that can be done without microservices).

Google has gotten to the point where things are getting really fined grained and honesty chaotic. Moving to a portion of code to its own microservice is basically a promo bait 6 month project, often done without justification other than "everything should be its own microservice". In my time at Google i never heard "what benefit do we get if this is a microservice?" it's just assumed to always be a good thing. 50 interacting microservices to go through in a trace is at the point where the only place I've seen such a thing is Google.

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#35
Standard SRE tasks are bad benchmarks.

First of all, familiarity with open telemetry apis is not knowledge, they are arbitrary constructs.

We are implying that conforming to a standard is the only way, the right way. I would challenge that.

Assuming models were good at this tasks, we could only conclude that this tasks were trivial AND sufficiently documented. Assuming they were good at this type of tasks (they can be trained to be good cheaply, we know that based on similar acquired capabilities) making a benchmark out of it would be less useful.

But I am sure nobody really cares and the author just had to SEO a little bit regardless of reality

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#36
post #25

Original title: Benchmarking OpenTelemetry: Can AI trace your failed login? HN Editorialized: OTelBench: AI struggles with simple SRE tasks (Opus 4.5 scores only 29%) The task: > Your task is: Add OTEL tracing to all microservices. > Requirements: > Instrumentation should match conventions and well-known good practices. > Instrumentation must match the business domain of the microservices. > Traces must be sent to th…

As someone whos job is support more than SWE, I agree with this. I've had to work in systems where events didn't share correlation IDs, I had to go in and filter entries down to microseconds to get a small enough number of entries that I could trace what actually happened between a set of services. From what I've seen in the enterprise software side of the world is a lot of companies are particularly bad at SRE and t…

Top 20 company globally by revenue

Enterprise app observability is purely a responsibility of each individual application/project manager. There is virtually no standardization or even shared infra, a team just stuffing plaintext logs into an unconfigured elasticsearch instance is probably above median already. There is no visibility for anything across departments and more often that not, not even across apps in a department.

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#37
post #5

If everyone else is the problem... maybe you are the problem. To me this says more about OTel than AI.

But not everyone else is the problem? OTel works fine for humans. Sometimes AIs are just shit

That is a wild claim my dude. Some of the comments here would challenge the claim that otel has worked pretty well for humans.

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#38
post #26

This is very confusingly written. From the post I expected that the tasks were about analysing traces, but all the tasks in the repository are about adding instrumentation to code! Some of the instructions don't give any guidance how to do it, some specify which libraries to use. "Use standard OTEL patterns" ... that's about as useful as saying "go write some code". There are a lot of ways to do instrumentation.... I…

>Some of the instructions don't give any guidance how to do it, some specify which libraries to use. In supporting a piece of cloud software with a lot of microservices I think this is a more generalized problem for humans. The app I work with demanded some logging requirements like the library to use. But that was it, different parts by different teams ended up with all kinds of different behaviors. As for the AI si…

> limited context sizes

Context size isn't the issue. You cannot effectively leverage an infinite context if you had one anyways. The general solution is to recursively decompose the problem into smaller ones and solve them independently of each other, returning the results back up the stack. Recursion being the key here. A bunch of parallel agents on separate call stacks that don't block on their logical callees is a slop factory.

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#39

[dead]

In this benchmark, micro-services are really small, ~300 lines, and sometimes just two of them. More realistic tasks (large codebases, more microservices) would have a lower success rate.

I'd expect it to actually do better in a large codebase. e.g. you'd already have an HTTP middleware stack, so it'd know that it can just add a layer to that for traces (and in fact there might already be off-the-shelf layers for whatever framework) vs. having to invent that on its own for the bare microservice.

Re: Benchmarking OpenTelemetry: Can AI trace your failed login?

#40
In my experience the approach matters a lot, I recently implemented Otel with Claude Code in a medium sized ~200k loc project:

- initially it wasn't working, plenty of parent/child relationships problems like described in the post

- so I designed a thin a wrapper and used sealed classes for events instead of dynamic spans + some light documentation

It took me like a day to implement tracing on the existing codebase, and for new features it works out of the box using the documentation.

At the end of the day, leveraging typing + documentation dramatically constrains LLMs to do a better job

Post reply on HN