Este documento explica como monitorar o consumo de tokens para verificações de insights de dados do Knowledge Catalog (antigo Dataplex Universal Catalog) usando o Cloud Logging e o Cloud Monitoring. O acompanhamento do uso de tokens por verificação e por job permite entender as tendências de uso do modelo e estimar os custos faturados do projeto.
Como funciona a geração de registros de uso de tokens
Quando um job de verificação de insights de dados (jsonPayload.type="DATA_DOCUMENTATION")
é concluído com um estado SUCCEEDED, o Knowledge Catalog grava uma
entrada de registro no registro dataplex.googleapis.com/data_scan. Essa entrada de registro contém um bloco billableTokenUsage em jsonPayload.dataDocumentation que registra a discriminação de tokens do job. Outras entradas de registro do job (como eventos CREATED, STARTED, FAILED ou CANCELLED) não incluem um bloco billableTokenUsage.
No bloco billableTokenUsage, é possível acompanhar três categorias principais de tokens para estimar o faturamento:
| Métrica | Descrição | Fórmula (usando campos billableTokenUsage) |
|---|---|---|
| Tokens de entrada não armazenados em cache | Tokens de entrada que não foram veiculados no cache de contexto, incluindo tokens de comando de uso de ferramentas. | max(promptTokenCount - cachedContentTokenCount, 0) + toolUsePromptTokenCount |
| Tokens de entrada armazenados em cache | Tokens de entrada veiculados no cache de contexto. Os tokens armazenados em cache são rastreados separadamente porque não são precificados na taxa de entrada não armazenada em cache padrão. | cachedContentTokenCount |
| Tokens de saída | Tokens de resposta gerados mais tokens de raciocínio (pensamento). Tokens de raciocínio são faturados como tokens de saída. | candidatesTokenCount + thoughtsTokenCount |
Para mais detalhes sobre os preços de tokens, consulte Preços do Data Cloud Agent.
Campos de token na entrada de registro
Cada entrada de registro dataplex.googleapis.com/data_scan inclui identificadores de recursos e jobs padrão, como resource.labels.datascan_id, resource.labels.location, jsonPayload.jobId e jsonPayload.state. Para verificações de insights de dados bem-sucedidas, o objeto jsonPayload.dataDocumentation.billableTokenUsage contém os seguintes campos:
| Campo | Descrição |
|---|---|
promptTokenCount |
Total de tokens de comando enviados ao modelo, incluindo tokens armazenados em cache. |
cachedContentTokenCount |
Parte dos tokens de comando veiculados no cache de contexto. |
toolUsePromptTokenCount |
Tokens de comando adicionados por chamadas de ferramentas (como esquema, perfil ou contexto do histórico de consultas). |
candidatesTokenCount |
Tokens de resposta gerados, excluindo tokens de raciocínio. |
thoughtsTokenCount |
Tokens de raciocínio (pensamento) gerados pelo modelo. |
O exemplo a seguir mostra uma entrada de registro dataplex.googleapis.com/data_scan para um job de verificação de insights de dados bem-sucedido:
{
"resource": {
"type": "dataplex.googleapis.com/DataScan",
"labels": {
"datascan_id": "my-insights-scan",
"location": "us-central1",
"resource_container": "projects/1234567890"
}
},
"jsonPayload": {
"type": "DATA_DOCUMENTATION",
"jobId": "8f2b3c4d-1234-5678-9abc-def012345678",
"state": "SUCCEEDED",
"dataDocumentation": {
"billableTokenUsage": {
"promptTokenCount": "20412",
"candidatesTokenCount": "7053"
}
}
}
}
Neste exemplo, o job não usou o cache de contexto, tokens de raciocínio ou chamadas de ferramentas. Como resultado, os tokens de entrada não armazenados em cache são iguais a 20,412, os tokens de entrada armazenados em cache
são iguais a 0 e os tokens de saída são iguais a 7,053.
Antes de começar
Antes de consultar registros de tokens de insights de dados ou criar um painel de monitoramento, conclua os pré-requisitos a seguir.
Funções exigidas
Para receber as permissões necessárias para monitorar o uso de tokens de insights de dados, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Visualizar registros de verificação de dados e executar consultas da Análise de observabilidade:
Visualizador de registros (
roles/logging.viewer) -
Criar painéis personalizados no Monitoring:
Editor do Monitoring (
roles/monitoring.editor) -
Visualizar painéis personalizados no Monitoring:
Leitor do Monitoring (
roles/monitoring.viewer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Ativar APIs
Ative as APIs Dataplex, Logging e Monitoring, se alguma delas ainda não estiver ativada.
Funções necessárias para ativar APIs
Para ativar as APIs, você precisa da permissão serviceusage.services.enable. Se você
criou o projeto, provavelmente já tem essa permissão pelo
papel de proprietário (roles/owner). Caso contrário, você pode receber essa permissão pelo
papel de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin).
Saiba como conceder papéis.
Verificar a configuração de roteamento de registros
As verificações de insights de dados gravam registros com o nome dataplex.googleapis.com/data_scan. As configurações do painel neste documento leem esses registros do bucket de registros _Default do projeto. Verifique se o roteamento de registros do projeto atende às seguintes condições:
- O coletor
_Defaultestá ativado e encaminha registros para o bucket de registros_Default. O coletor
_Defaultnão tem um filtro de exclusão que descarte registrosdataplex.googleapis.com/data_scanouDATA_DOCUMENTATION.
Console
No Google Cloud console do, acesse a página Logging > Roteador de registros.
Localize o coletor
_Defaulte verifique se o status dele é Ativado e se o destino é o bucket_Default.Clique no menu do coletor () e selecione Ver detalhes do coletor. Verifique se nenhum filtro de exclusão corresponde a
dataplex.googleapis.com/data_scanouDATA_DOCUMENTATION.
gcloud
Descreva o coletor _Default para inspecionar o status, o destino e os filtros de exclusão:
gcloud logging sinks describe _Default --project=PROJECT_ID
Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.
Verifique se disabled não está definido como true, destination termina com /buckets/_Default e nenhuma entrada em exclusions corresponde a data_scan.
Ativar a Análise de observabilidade no bucket _Default
Para executar consultas SQL nos registros de verificação de insights de dados e ativar o painel personalizado da Análise de observabilidade, faça upgrade do bucket de registros _Default do projeto para usar a Análise de observabilidade.
Antes de ativar a Análise de observabilidade no bucket de registros _Default, revise as considerações a seguir:
- Não é possível desfazer o upgrade de um bucket para a Análise de observabilidade, e ele não gera custos extras.
- Não é necessário criar um conjunto de dados vinculado do BigQuery.
As consultas SQL da Análise de observabilidade só retornam registros que chegam após a conclusão do upgrade. Os registros mais antigos ainda estão disponíveis na Análise de registros, mas não aparecem nos resultados da consulta SQL. Depois de fazer upgrade do bucket, execute pelo menos uma verificação de insights de dados para que o painel tenha dados para exibir.
Console
No Google Cloud console do, acesse a página Logging > Armazenamento de registros.
Localize a linha do bucket
_Defaulte verifique a coluna Análise de observabilidade disponível:- Se a coluna mostrar Abrir, a Análise de observabilidade já estará ativada.
- Se a coluna mostrar Upgrade, clique em Upgrade e confirme o upgrade.
Aguarde alguns minutos até que o status da coluna mude para Abrir.
gcloud
Faça upgrade do bucket de registros
_Defaultpara ativar a Análise de observabilidade:gcloud logging buckets update _Default \ --location=global --enable-analytics --project=PROJECT_IDSubstitua PROJECT_ID pelo ID do Google Cloud projeto.
Após alguns minutos, verifique se o upgrade foi concluído:
gcloud logging buckets describe _Default \ --location=global --project=PROJECT_IDConfirme se a saída inclui
analyticsEnabled: true.
Conferir o uso de tokens por job na Análise de registros
Para inspecionar o consumo de tokens de jobs de verificação de insights de dados individuais, use a Análise de registros ou a Google Cloud CLI. Para agregações por hora ou por dia no projeto, é possível criar um painel usando a Análise de observabilidade.
Console
No Google Cloud console do, acesse a página Logging > Análise de registros.
Se o editor de consultas não estiver visível, ative Mostrar consulta.
Insira a consulta a seguir no editor de consultas:
log_id("dataplex.googleapis.com/data_scan") jsonPayload.type="DATA_DOCUMENTATION" jsonPayload.dataDocumentation.billableTokenUsage.promptTokenCount:*Opcional: para filtrar uma verificação ou execução de job específica, anexe uma das seguintes linhas à consulta:
resource.labels.datascan_id="DATA_SCAN_ID" jsonPayload.jobId="JOB_ID"Substitua:
- DATA_SCAN_ID: o ID da verificação de insights de dados.
- JOB_ID: o ID de uma execução de job de verificação específica.
Selecione um período (por exemplo, Últimas 24 horas) e clique em Executar consulta.
Expanda uma entrada de registro e abra
jsonPayload>dataDocumentation>billableTokenUsagepara inspecionar as contagens de tokens desse job.
gcloud
Leia as entradas de registro de verificação de insights de dados recentes e formate os campos de token como uma tabela:
gcloud logging read \
'log_id("dataplex.googleapis.com/data_scan") AND jsonPayload.type="DATA_DOCUMENTATION" AND jsonPayload.dataDocumentation.billableTokenUsage.promptTokenCount:*' \
--project=PROJECT_ID --freshness=1d --limit=20 \
--format='table(timestamp, resource.labels.datascan_id:label=SCAN,
jsonPayload.jobId:label=JOB,
jsonPayload.dataDocumentation.billableTokenUsage.promptTokenCount:label=PROMPT,
jsonPayload.dataDocumentation.billableTokenUsage.cachedContentTokenCount:label=CACHED,
jsonPayload.dataDocumentation.billableTokenUsage.toolUsePromptTokenCount:label=TOOL_USE,
jsonPayload.dataDocumentation.billableTokenUsage.candidatesTokenCount:label=CANDIDATES,
jsonPayload.dataDocumentation.billableTokenUsage.thoughtsTokenCount:label=THOUGHTS)'
Substitua PROJECT_ID pelo seu Google Cloud ID do projeto.
Uma coluna vazia na tabela de saída indica 0 tokens para esse campo.
Para transformar esses campos nas métricas, use as fórmulas em
Como funciona a geração de registros de uso de tokens.
Consultar o uso de tokens usando a Análise de observabilidade
Também é possível executar ou personalizar as consultas SQL de widget diretamente na página Análise de dados de registros no Google Cloud console.
Os gráficos diários e por hora compartilham a mesma consulta de gráfico, que retorna uma linha por job de verificação. Cada widget de gráfico agrupa e soma as linhas por dia (timeBinSize: 86400s) ou por hora (timeBinSize: 3600s). Se você editar uma consulta de gráfico e colá-la de volta em um widget de painel, preserve os aliases de coluna timestamp, total_non_cached_input_tokens, total_cached_input_tokens e total_output_tokens.
Para filtrar uma consulta para uma única verificação, anexe a seguinte condição à cláusula WHERE:
AND JSON_VALUE(resource.labels, '$.datascan_id') = 'DATA_SCAN_ID'
Substitua DATA_SCAN_ID pelo ID da verificação de insights de dados.
Exemplo de consulta de gráfico (gráficos diários e por hora)
SELECT
timestamp,
GREATEST(
IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') AS INT64), 0)
- IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0),
0)
+ IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.toolUsePromptTokenCount') AS INT64), 0)
AS total_non_cached_input_tokens,
IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0)
AS total_cached_input_tokens,
IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.candidatesTokenCount') AS INT64), 0)
+ IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.thoughtsTokenCount') AS INT64), 0)
AS total_output_tokens
FROM `PROJECT_ID.global._Default._Default`
WHERE
log_id = 'dataplex.googleapis.com/data_scan'
AND JSON_VALUE(json_payload, '$.type') = 'DATA_DOCUMENTATION'
AND JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') IS NOT NULL
Substitua PROJECT_ID pelo seu Google Cloud ID do projeto.
Exemplo de consulta por job de verificação
SELECT
timestamp,
JSON_VALUE(resource.labels, '$.datascan_id') AS data_scan_id,
JSON_VALUE(resource.labels, '$.location') AS location,
JSON_VALUE(json_payload, '$.jobId') AS job_id,
JSON_VALUE(json_payload, '$.state') AS state,
GREATEST(
IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') AS INT64), 0)
- IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0),
0)
+ IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.toolUsePromptTokenCount') AS INT64), 0)
AS non_cached_input_tokens,
IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0)
AS cached_input_tokens,
IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.candidatesTokenCount') AS INT64), 0)
+ IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.thoughtsTokenCount') AS INT64), 0)
AS output_tokens
FROM `PROJECT_ID.global._Default._Default`
WHERE
log_id = 'dataplex.googleapis.com/data_scan'
AND JSON_VALUE(json_payload, '$.type') = 'DATA_DOCUMENTATION'
AND JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') IS NOT NULL
ORDER BY timestamp DESC
LIMIT 500
Substitua PROJECT_ID pelo seu Google Cloud ID do projeto.
Criar um painel usando a Análise de observabilidade
Para visualizar e acompanhar o consumo de tokens do modelo ao longo do tempo, é possível criar um painel personalizado do Monitoring usando a Análise de observabilidade.
Essa abordagem executa consultas SQL diretamente nos registros de verificação de insights de dados no bucket de registros _Default. Ela oferece vários benefícios:
- Precisão:as consultas calculam contagens exatas de tokens diretamente dos payloads JSON de entrada de registro, em vez de estimativas de métricas agregadas.
- Histórico de jobs granular:além de gráficos agregados, é possível inspecionar jobs de verificação individuais em uma visualização tabular.
- Sem custo adicional:o upgrade do bucket de registros
_Defaultpara a Análise de observabilidade não gera custos adicionais.
Essa opção cria um painel do Monitoring com três widgets que executam consultas SQL nos registros:
- Uso diário de tokens (gráfico de barras empilhadas)
- Uso de tokens por hora (gráfico de linhas)
- Uso de tokens por job de verificação (tabela que mostra os 500 jobs mais recentes)
A configuração JSON do painel a seguir usa a variável integrada @__project_id
variável (@__project_id.global._Default._Default), que consulta automaticamente
o projeto em que você abre o painel. Não é necessário editar nenhum marcador de posição do projeto no JSON antes de importá-lo.
Console
No Google Cloud console do, acesse a página Monitoring > Painéis.
Clique em Criar painel.
Na barra de ferramentas, clique em Configurações, selecione JSON e selecione Editor JSON.
Substitua o conteúdo atual do editor pela definição JSON do painel fornecida na próxima seção.
Clique em Aplicar alterações. Com o salvamento automático ativado, o Monitoring salva o painel como
Data Insights - Token Usage.Na primeira vez que você abrir o painel, cada widget vai pedir que você confirme a execução da consulta SQL no mecanismo do BigQuery para o projeto. Verifique se o prompt lista seu projeto e clique em Continuar execução em cada widget.
Selecione um período na barra de ferramentas do painel (por exemplo, Últimos 7 dias).
gcloud
- Salve a definição JSON do painel em um arquivo local
chamado
dashboard.json. Crie o painel no Monitoring:
gcloud monitoring dashboards create \ --project=PROJECT_ID \ --config-from-file=dashboard.jsonSubstitua PROJECT_ID pelo seu Google Cloud ID do projeto.
Abra a página Painéis no Google Cloud console do , selecione Verificação de insights - Uso de tokens e clique em Continuar execução em cada widget para autorizar a execução da consulta SQL.
Definição JSON do painel
Para criar o painel, expanda a seção a seguir e copie a definição JSON:
Definição JSON
{
"displayName": "Data Insights - Token Usage",
"mosaicLayout": {
"columns": 48,
"tiles": [
{
"xPos": 0,
"yPos": 0,
"width": 24,
"height": 16,
"widget": {
"title": "Daily token usage",
"xyChart": {
"chartOptions": {
"mode": "COLOR",
"displayHorizontal": false
},
"dataSets": [
{
"plotType": "STACKED_BAR",
"targetAxis": "Y1",
"breakdowns": [],
"dimensions": [
{
"column": "timestamp",
"columnType": "TIMESTAMP",
"sortColumn": "timestamp",
"sortOrder": "SORT_ORDER_ASCENDING",
"timeBinSize": "86400s"
}
],
"measures": [
{
"column": "total_non_cached_input_tokens",
"aggregationFunction": {
"type": "sum",
"parameters": []
}
},
{
"column": "total_cached_input_tokens",
"aggregationFunction": {
"type": "sum",
"parameters": []
}
},
{
"column": "total_output_tokens",
"aggregationFunction": {
"type": "sum",
"parameters": []
}
}
],
"timeSeriesQuery": {
"opsAnalyticsQuery": {
"sql": "SELECT\n timestamp,\n GREATEST(\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') AS INT64), 0)\n - IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0),\n 0)\n + IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.toolUsePromptTokenCount') AS INT64), 0)\n AS total_non_cached_input_tokens,\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0)\n AS total_cached_input_tokens,\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.candidatesTokenCount') AS INT64), 0)\n + IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.thoughtsTokenCount') AS INT64), 0)\n AS total_output_tokens\nFROM `@__project_id.global._Default._Default`\nWHERE\n log_id = 'dataplex.googleapis.com/data_scan'\n AND JSON_VALUE(json_payload, '$.type') = 'DATA_DOCUMENTATION'\n AND JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') IS NOT NULL"
}
}
}
],
"yAxis": {
"label": "tokens",
"scale": "LINEAR"
}
}
}
},
{
"xPos": 24,
"yPos": 0,
"width": 24,
"height": 16,
"widget": {
"title": "Hourly token usage",
"xyChart": {
"chartOptions": {
"mode": "COLOR",
"displayHorizontal": false
},
"dataSets": [
{
"plotType": "LINE",
"targetAxis": "Y1",
"breakdowns": [],
"dimensions": [
{
"column": "timestamp",
"columnType": "TIMESTAMP",
"sortColumn": "timestamp",
"sortOrder": "SORT_ORDER_ASCENDING",
"timeBinSize": "3600s"
}
],
"measures": [
{
"column": "total_non_cached_input_tokens",
"aggregationFunction": {
"type": "sum",
"parameters": []
}
},
{
"column": "total_cached_input_tokens",
"aggregationFunction": {
"type": "sum",
"parameters": []
}
},
{
"column": "total_output_tokens",
"aggregationFunction": {
"type": "sum",
"parameters": []
}
}
],
"timeSeriesQuery": {
"opsAnalyticsQuery": {
"sql": "SELECT\n timestamp,\n GREATEST(\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') AS INT64), 0)\n - IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0),\n 0)\n + IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.toolUsePromptTokenCount') AS INT64), 0)\n AS total_non_cached_input_tokens,\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0)\n AS total_cached_input_tokens,\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.candidatesTokenCount') AS INT64), 0)\n + IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.thoughtsTokenCount') AS INT64), 0)\n AS total_output_tokens\nFROM `@__project_id.global._Default._Default`\nWHERE\n log_id = 'dataplex.googleapis.com/data_scan'\n AND JSON_VALUE(json_payload, '$.type') = 'DATA_DOCUMENTATION'\n AND JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') IS NOT NULL"
}
}
}
],
"yAxis": {
"label": "tokens",
"scale": "LINEAR"
}
}
}
},
{
"xPos": 0,
"yPos": 16,
"width": 48,
"height": 20,
"widget": {
"title": "Token usage per scan job (latest 500)",
"timeSeriesTable": {
"columnSettings": [],
"dataSets": [
{
"tableTemplate": "",
"timeSeriesQuery": {
"opsAnalyticsQuery": {
"sql": "SELECT\n timestamp,\n JSON_VALUE(resource.labels, '$.datascan_id') AS data_scan_id,\n JSON_VALUE(resource.labels, '$.location') AS location,\n JSON_VALUE(json_payload, '$.jobId') AS job_id,\n JSON_VALUE(json_payload, '$.state') AS state,\n GREATEST(\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') AS INT64), 0)\n - IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0),\n 0)\n + IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.toolUsePromptTokenCount') AS INT64), 0)\n AS non_cached_input_tokens,\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.cachedContentTokenCount') AS INT64), 0)\n AS cached_input_tokens,\n IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.candidatesTokenCount') AS INT64), 0)\n + IFNULL(SAFE_CAST(JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.thoughtsTokenCount') AS INT64), 0)\n AS output_tokens\nFROM `@__project_id.global._Default._Default`\nWHERE\n log_id = 'dataplex.googleapis.com/data_scan'\n AND JSON_VALUE(json_payload, '$.type') = 'DATA_DOCUMENTATION'\n AND JSON_VALUE(json_payload, '$.dataDocumentation.billableTokenUsage.promptTokenCount') IS NOT NULL\nORDER BY timestamp DESC\nLIMIT 500"
}
}
}
],
"metricVisualization": "NUMBER"
}
}
}
]
}
}
Limitações
- As métricas de token só serão concluídas se os registros
dataplex.googleapis.com/data_scannão forem excluídos ou encaminhados para fora do bucket de registros_Default. - Somente jobs bem-sucedidos com metadados de token são contados. As entradas de registro sem um bloco
billableTokenUsagesão excluídas das consultas e métricas. - Use esses painéis para monitorar tendências de uso e estimar custos, não para conciliar uma fatura oficial do Cloud Billing.
- Cada Google Cloud projeto exige a própria configuração do painel.
- As consultas SQL não retornam entradas de registro gravadas antes da ativação da Análise de observabilidade no bucket
_Default. - O widget de tabela por job mostra no máximo os 500 jobs mais recentes no período selecionado. Para inspecionar jobs mais antigos, consulte a Análise de registros.
A seguir
- Saiba mais sobre insights de dados para dados estruturados.
- Saiba como usar insights de dados para dados estruturados.
- Saiba como monitorar registros do Knowledge Catalog.
- Saiba como monitorar métricas do Knowledge Catalog.