Skip to main content
Pinecone generates time-series performance metrics for each Pinecone index. You can monitor these metrics directly in the Pinecone console or with tools like Prometheus or Datadog.

Monitor in the Pinecone Console

To view performance metrics in the Pinecone console:
  1. Open the Pinecone console.
  2. Select the project containing the index you want to monitor.
  3. Go to Database > Indexes.
  4. Select the index.
  5. Go to the Metrics tab.

Monitor with Datadog

To monitor Pinecone with Datadog, use Datadog’s Pinecone integration.
This feature is available on Standard and Enterprise plans.

Monitor with Prometheus

This feature is available on Standard and Enterprise plans. When using Bring Your Own Cloud, you must configure Prometheus monitoring within your VPC.
To monitor all serverless indexes in a project, insert the following snippet into the scrape_configs section of your prometheus.yml file and update it with values for your Prometheus integration:
This method uses HTTP service discovery to automatically discover and target all serverless indexes across all regions in a project.
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'pinecone-serverless-metrics'
    http_sd_configs:
      - url: https://api.pinecone.io/prometheus/projects/PROJECT_ID/metrics/discovery
        refresh_interval: 1m
        authorization:
          type: Bearer
          credentials: API_KEY
    authorization:
      type: Bearer
      credentials: API_KEY
  • Replace PROJECT_ID with the unique ID of the project you want to monitor. You can find the project ID in the Pinecone console.
  • Replace both instances of API_KEY with an API key for the project you want to monitor. The first instance is for service discovery, and the second instance is for the discovered targets. If necessary, you can create an new API key in the Pinecone console.
For more configuration details, see the Prometheus docs.

Available metrics

The following metrics are available when you integrate Pinecone with Prometheus:
NameTypeDescription
pinecone_db_record_totalgaugeThe total number of records in the index.
pinecone_db_storage_size_bytesgaugeThe total size of the index in bytes.
pinecone_db_op_upsert_countcounterThe number of upsert requests.
pinecone_db_op_upsert_duration_sumcounterThe total time taken processing upsert requests in milliseconds.
pinecone_db_op_query_countcounterThe number of query requests.
pinecone_db_op_query_duration_sumcounterThe total time taken processing query requests in milliseconds.
pinecone_db_op_fetch_countcounterThe number of fetch requests.
pinecone_db_op_fetch_duration_sumcounterThe total time taken processing fetch requests in milliseconds.
pinecone_db_op_update_countcounterThe number of update requests.
pinecone_db_op_update_duration_sumcounterThe total time taken processing update requests in milliseconds.
pinecone_db_op_delete_countcounterThe number of delete requests.
pinecone_db_op_delete_duration_sumcounterThe total time taken processing delete requests in milliseconds.
pinecone_db_write_unit_countcounterThe total number of write units consumed by an index.
pinecone_db_read_unit_countcounterThe total number of read units consumed by an index.

Metric labels

Each metric contains the following labels:
LabelDescription
index_nameName of the index to which the metric applies.
cloudCloud where the index is deployed: aws, gcp, or azure.
regionRegion where the index is deployed.
capacity_modeType of index: serverless or byoc.
instanceServer instance (only available for counter metrics).

Example queries

Return the total number of records per index:
sum by (index_name) (pinecone_db_record_total)
Return the total number of records in Pinecone index docs-example:
pinecone_db_record_total{index_name="docs-example"}
For each index, return the total number of upsert requests per second:
sum by (index_name) (rate(pinecone_db_op_upsert_count[5m]))
Return the average processing time in milliseconds for upsert requests per index:
(sum by (index_name) (rate(pinecone_db_op_upsert_duration_sum[1m])))/(sum by (index_name) (rate(pinecone_db_op_upsert_count[1m])))
For each index, return the total number of read units consumed per second:
sum by (index_name) (rate(pinecone_db_read_unit_count[5m]))
Return the total write units consumed per second for the Pinecone index docs-example:
sum (rate(pinecone_db_write_unit_count{index_name="docs-example"}[5m]))