WorkersメトリクスのGraphQLによるクエリ
この例では、GraphQL Analytics APIを使用して、指定された期間のWorkersメトリクスをクエリします。最大で3ヶ月前までのデータを1ヶ月分までクエリできます。
以下のAPIコールは、1日間のWorkerスクリプトのメトリクスをリクエストし、要求されたフィールドを出力します。<CLOUDFLARE_ACCOUNT_ID>、<EMAIL>、および<API_KEY>をAPI認証情報に置き換え、必要に応じてdatetimeStart、datetimeEnd、およびscriptName変数を調整してください。
echo '{ "query": "query GetWorkersAnalytics($accountTag: string, $datetimeStart: string, $datetimeEnd: string, $scriptName: string) { viewer { accounts(filter: {accountTag: $accountTag}) { workersInvocationsAdaptive(limit: 100, filter: { scriptName: $scriptName, datetime_geq: $datetimeStart, datetime_leq: $datetimeEnd }) { sum { subrequests requests errors } quantiles { cpuTimeP50 cpuTimeP99 } dimensions{ datetime scriptName status } } } } }", "variables": { "accountTag": "<CLOUDFLARE_ACCOUNT_ID>", "datetimeStart": "2022-08-04T00:00:00.000Z", "datetimeEnd": "2022-08-04T01:00:00.000Z", "scriptName": "worker-subrequest-test-client" }}' | tr -d '\n' | curl --silent \https://api.cloudflare.com/client/v4/graphql \--header "Authorization: Bearer <API_TOKEN>" \--header "Accept: application/json" \--header "Content-Type: application/json" \--data @-返される結果はJSON形式(要求された通り)で、出力をjqにパイプすることで、次の例のように読みやすくなります。
... | curl --silent \https://api.cloudflare.com/client/v4/graphql \--header "Authorization: Bearer <API_TOKEN>" \--header "Accept: application/json" \--header "Content-Type: application/json" \--data @- | jq .
#=> {#=> "data": {#=> "viewer": {#=> "accounts": [#=> {#=> "workersInvocationsAdaptive": [#=> {#=> "dimensions": {#=> "datetime": "2020-05-04T18:10:35Z",#=> "scriptName": "worker-subrequest-test-client",#=> "status": "success"#=> },#=> "quantiles": {#=> "cpuTimeP50": 206,#=> "cpuTimeP99": 206#=> },#=> "sum": {#=> "errors": 0,#=> "requests": 1,#=> "subrequests": 0#=> }#=> },#=> {#=> "dimensions": {#=> "datetime": "2020-05-04T18:10:34Z",#=> "scriptName": "worker-subrequest-test-client",#=> "status": "success"#=> },#=> "quantiles": {#=> "cpuTimeP50": 291,#=> "cpuTimeP99": 291#=> },#=> "sum": {#=> "errors": 0,#=> "requests": 1,#=> "subrequests": 0#=> }#=> },#=> {#=> "dimensions": {#=> "datetime": "2020-05-04T18:10:49Z",#=> "scriptName": "worker-subrequest-test-client",#=> "status": "success"#=> },#=> "quantiles": {#=> "cpuTimeP50": 212.5,#=> "cpuTimeP99": 261.19#=> },#=> "sum": {#=> "errors": 0,#=> "requests": 4,#=> "subrequests": 0#=> }#=> }#=> ]#=> }#=> ]#=> }#=> },#=> "errors": null#=> }