Title | Link | # of reactions | Reactions |
---|---|---|---|
Capture request and response bodies | open-telemetry/semantic-conventions#857 | 29 | {'+1': 28, '-1': 1, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0} |
Introduce semantic conventions for modern AI (LLMs, vector databases, etc.) | open-telemetry/semantic-conventions#327 | 11 | {'+1': 0, '-1': 0, 'laugh': 0, 'hooray': 8, 'confused': 0, 'heart': 3, 'rocket': 0, 'eyes': 0} |
Improve GraphQL semantic conventions | open-telemetry/semantic-conventions#182 | 8 | {'+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 6, 'eyes': 1} |
Discuss ECS' field reuse concept for OTel semantic attributes | open-telemetry/semantic-conventions#339 | 7 | {'+1': 7, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0} |
Define semantic conven |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private string GetFinishReason(ChatFinishReason finishReason) => finishReason switch | |
{ | |
ChatFinishReason.Stop => "stop", | |
ChatFinishReason.Length => "length", | |
ChatFinishReason.ToolCalls => "tool_calls", | |
// ... | |
_ => finishReason.ToString(), | |
}; | |
private void LogChoice(ChatCompletion message) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import json | |
import os | |
import time | |
from typing import override | |
from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor | |
#HTTPXClientInstrumentor().instrument() | |
from openai import AssistantEventHandler | |
from openai.types.beta.threads.runs import RunStep |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Main { | |
public static void main(String[] args) throws IOException { | |
var logProvider = SdkLoggerProvider.builder() | |
.addLogRecordProcessor(SimpleLogRecordProcessor.create(OtlpGrpcLogRecordExporter.getDefault())).build(); | |
EventLoggerProvider eventLoggerProvider = SdkEventLoggerProvider.create(logProvider); | |
var logger = eventLoggerProvider.get("test-logger"); | |
var event = new GenAIChoice() | |
.setId(1) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let get_role = (event_name:string) { | |
iff(event_name == "gen_ai.choice", "assistant", split(event_name, ".")[1]) | |
}; | |
let gen_ai_spans = dependencies | |
| where isnotnull(customDimensions["gen_ai.system"]) | |
| project | |
operation_ParentId, | |
operation_Id, | |
id, | |
duration, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# set OPENAI_API_KEY | |
# install otel-api and otel-sdk from main | |
# install opentelemetry-instrumentation-openai from https://github.com/lmolkova/opentelemetry-python-contrib/tree/openai-events | |
from time import time_ns | |
from openai import OpenAI | |
from typing import Optional | |
from opentelemetry import trace, _logs, _events | |
import opentelemetry.sdk |
- Which one to use Otel or Micrometer. Why?
- Semantic conventions - how users can pick which ones they want? will libs need to provide all possible options?
- What's the story in other languages/ecosystems? I need my python messaging consumer to be consistent with my java messaging producer.
- Which libraries beyond Spring are all-in on Micrometer?
- How do you prioritize features? What if something is missing? (E.g. structured events on spans, adding link after span creation, etc)
- is Micrometer targeting feature-parity with OTel specification? Will micrometer introduce profling API?
- How big is the community? Are there community calls? Who makes decisions?
NewerOlder