in instrumentation/openai-client-instrumentation/instrumentation-1.1/src/main/java/co/elastic/otel/openai/v1_1/wrappers/InstrumentedOpenAiClient.java [111:121]
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
String methodName = method.getName();
Class<?>[] parameterTypes = method.getParameterTypes();
if (methodName.equals("chat") && parameterTypes.length == 0) {
return new InstrumentedChatService(delegate.chat(), settings).createProxy();
}
if (methodName.equals("embeddings") && parameterTypes.length == 0) {
return new InstrumentedEmbeddingsService(delegate.embeddings(), settings).createProxy();
}
return super.invoke(proxy, method, args);
}