Skip to content

v6.1.0 Release

Latest

Choose a tag to compare

@rohanshah18 rohanshah18 released this 09 Jan 20:58
· 5 commits to main since this release

This version of the Pinecone Java SDK introduces observability support for dataplane operations. You can now capture performance metrics and operational metadata for all vector operations (upsert, query, fetch, update, delete), enabling seamless integration with your preferred observability tools.

Features

ResponseMetadataListener for operation observability

Register a callback to receive detailed metrics after each dataplane operation completes:

  • Client duration - Total round-trip time measured by the SDK
  • Server duration - Processing time from x-pinecone-response-duration-ms header
  • Network overhead - Computed difference (client - server)
  • Operation details - Name, index, namespace, server address, status, and error info

Below code shows how to capture and log response metadata for dataplane operations:

import io.pinecone.clients.Pinecone;
import io.pinecone.clients.Index;
import java.util.Arrays;

Pinecone pinecone = new Pinecone.Builder(System.getenv("PINECONE_API_KEY"))
    .withResponseMetadataListener(metadata -> {
        System.out.printf("Operation: %s | Client: %dms | Server: %dms | Network: %dms%n",
            metadata.getOperationName(),
            metadata.getClientDurationMs(),
            metadata.getServerDurationMs(),
            metadata.getNetworkOverheadMs());
    })
    .build();

Index index = pinecone.getIndexConnection("example-index");

// All operations now report metrics via the listener
index.upsert("v1", Arrays.asList(1.0f, 2.0f, 3.0f));
// Output: Operation: upsert | Client: 52ms | Server: 38ms | Network: 14ms

index.fetch(Arrays.asList("v1"));
// Output: Operation: fetch | Client: 35ms | Server: 22ms | Network: 13ms

For a complete OpenTelemetry integration example with Prometheus and Grafana, see examples/java-otel-metrics.

What's Changed

Full Changelog: v6.0.0...v6.1.0