Public API Perfomanceデータについて知る


New Relicでソリューションを提供している佐々木です。
New Relic Advent Calendar 2019の11日目記事をお届けします(ちょっと時間差です!)。

Public API Performanceダッシュボードについて

最近New Relicにサインアップされた方は、何やらデフォルトでこのようなダッシュボードがあることにお気づきかと思います。

これは、複数のクラウド事業者からNew Relicが定期的に収集したデータを使って表示しているダッシュボードになります。ダッシュボードを開くと、各APIの応答速度を俯瞰できるチャートが表示されます。また、左側のバーチャートから気になるAPIを選ぶと、そのAPIの情報だけフィルタすることができます(添付画像ではGoogle APIだけ選んでみました)。

けっこう前からNew Relicをお使いの方は、デフォルトでこのダッシュボードは作られていません。作ってみたいという方は、簡単な操作であとから追加することができます。
右上のドロップダウンメニューからAdd more dataを選び、一番上のPublic API Performanceを押していただくだけです。

なぜこのようなダッシュボードがあるのか

このダッシュボードには2つの目的があります。

  1. 外部APIの稼働状況の参考値を知る
    収集対象となっているものは広く利用されているメジャーなAPIです。実際これらのAPIを使っていたり、それらの応答時間ってどれくらいなんだろう・・・と知りたいシーンもあるかもしれません。その参考値として使っていただくことができます。

  2. New Relicのデータ分析機能について学べる
    New Relicにサインアップした直後のタイミングは、まだエージェントなどの設定をしていないため、自分のシステムから送られたデータを見ることはできません。その時点で、New Relicがどのようなデータ分析をできるか手軽に知りたいな、という場合に、参考データとして利用することができます。

ここでは、2について、もう少し深堀りをしていきたいと思います。

ダッシュボードの元となっているデータ: "Public_APICall" Event

右上にあるQuery your dataメニューをクリックしてみてください。これはNew Relicに収集されているデータを分析できるツールです。このデータをEventデータと言い、現在収集されているEventデータは左側に表示されているEvent typeで種類分けされています。その中にPublic_APICallという名前のEventデータがありますので、これを選択してみましょう。すると右側にラインチャートが表示されますが、その右上にあるRaw Dataというボタンをクリックすると、収集されているデータを表形式で見ることができます。
すると、APIというカラムに外部APIの名前が格納されているなど、なんとなくこれがダッシュボードの元になっているデータなんだなーということがわかると思います。

New Relicが収集しているEventデータの特徴は、属性名と値のペアを複数持つJSON形式であることです。このデータを加工してダッシュボード上でさまざまな表現をすることができます。

Public API Performanceダッシュボードに戻ってみましょう。右上の・・・を押して、View queryを選びます。

すると、このようなクエリが表示されます。

FROM Public_APICall SELECT percentile(duration, 99) as 'response time' FACET api LIMIT 100

このクエリはNRQL(New Relic Query Language、発音はえぬあーるきゅーえる、なーこー、ぬるくる、など人それぞれ)と呼ばれる、New RelicのEventデータを分析するための専用の言語です。FROM Public_APICallとあるように、先ほど見たPublic_APICallのデータを分析していることがわかります。ご自身で独自のNRQLを書いて分析をし、その結果をダッシュボードに表示することもできますのでチャレンジしてみてください。

最後に

Public API Perfomanceデータについて理解が深まったでしょうか。このデータはNew Relicがすべてのお客様に自由に使っていただけるよう提供しているものなので、ぜひ活用してみてください!