# Como consultar dados de uso de Functions

O conjunto de dados **workloadConsumptionMetrics** permite obter dados agregados em tempo real relacionados ao consumo e uso dos produtos Azion, incluindo Functions.

As informações podem ser acessadas através da API GraphQL, permitindo transferir esses dados para uma plataforma de terceiros, possibilitando uma análise e revisão mais aprofundadas. Além disso, os dados estão disponíveis por até *24 meses*.

Este guia explica como consultar as métricas de tempo de computação e invocações de Functions usando o [GraphiQL Playground](/pt-br/documentacao/produtos/devtools/playground-graphql/).

---

## Consulte dados de uso de Functions

Para consultar o tempo de computação e as invocações de Functions, proceda da seguinte forma:

1. Acesse o GraphiQL Playground indo para o seguinte link: `https://api.azion.com/v4/consumption/graphql`.
    - Você deve estar logado em sua conta Azion. Caso contrário, você receberá uma mensagem de erro.
2. Envie uma consulta seguindo este formato:

```graphql
query {
  workloadConsumptionMetrics(
    filter: {
      tsRange: { 
        begin: "2025-02-01T00:00:00",
        end: "2025-03-01T00:00:00",
      }
      productId: 1531930033
      metricNameIn: ["invocations", "compute_time"]
    }
    aggregate: {
      sum: accounted
    }
    limit: 10000
    groupBy: [clientId, workloadId, productId, metricName, region]
  ) {
    clientId
    workloadId
    productId
    metricName
    region
    total: sum
  }
}
```

Onde:

| Campo | Descrição |
|----------|----------|
| `filter` | Define os critérios usados para filtrar os dados retornados pela consulta. |
| `tsRange` | Um subcampo de `filter`. Especifica um intervalo de tempo para filtrar os dados. Inclui os campos `begin` e `end` para definir início e fim. Formato: `"YYYY-MM-DDTHH:mm:ss"`; exemplo: `"2024-04-11T00:00:00"`. |
| `sum: accounted` | Como um subcampo de `aggregate`, calcula o uso total contabilizado para eventos que correspondem aos filtros e grupos da consulta. |
| `limit` | Especifica o número máximo de resultados a serem retornados. Máximo do sistema: `10000`. |
| `groupBy` | Especifica os campos pelos quais os resultados da consulta devem ser agrupados. Exemplo: `[clientId, metricName]`. |
| `productId` | Identificador único do produto em uso. Neste caso, `1531930033` para Functions. |
| `metricName` | Nome da métrica calculada para análise. Exemplo: `invocations` ou `compute_time`.  |

:::note
Este exemplo recupera dados para o número total de invocações ou tempo de computação usado por Functions. Os resultados são agrupados por `clientId` e `workloadId`. Para saber mais sobre os campos disponíveis, consulte a documentação dos [Campos da GraphQL API de Consumption](/pt-br/documentacao/devtools/graphql-api/recursos/campos-gql-consumption/).
:::

3. Você receberá uma resposta JSON semelhante a esta:

```json
{
	"data": {
		"workloadConsumptionMetrics": [
			{
				"clientId": "12345a",
				"workloadId": 1234567890,
				"productId": 1531930033,
				"metricName": "invocations",
				"region": "United States",
				"Total": 816931
			},
			{
				"clientId": "67890a",
				"workloadId": 1987654321,
				"productId": 1531930033,
				"metricName": "invocations",
				"region": "Europe",
				"Total": 33134
			},
			{
				"clientId": "111111b",
				"workloadId": 1231231230,
				"productId": 1531930033,
				"metricName": "compute_time",
				"region": "All Other Regions",
				"Total": 436363.41
			}
		]
	}
}
```

Onde:

| Campo | Descrição |
|----------|----------|
| `clientId` | Identificador único do cliente na Azion. Exemplo: `8437r.` |
| `workloadId` | Identificador para o workload associado ao uso. Exemplo: `4829301746`. |
| `productId` | Identificador único do produto em uso. Neste caso, `1531930033` para Functions. |
| `metricName` | Nome da métrica medida para análise. Exemplo: `invocations` ou `compute_time`.  |
| `region` | Região geográfica onde o uso foi registrado. Exemplo: `Europe`. |
| `total` | Este campo é o resultado de uma soma. <br/> Ao consultar `compute_time`: tempo total de execução para Functions, medido em segundos. Exemplo: `436363.41`. <br/> Ao consultar `invocations`: total de invocações de funções. Exemplo: `33134`. |

:::tip
Para saber mais sobre os campos disponíveis, consulte a documentação dos [Campos da GraphQL API de Consumption](/pt-br/documentacao/devtools/graphql-api/recursos/campos-gql-consumption/).
:::