2017/12/07

[翻訳] New Relic Insights の NRQL クエリの Facet 句で複数属性をサポート開始

New Relic Insights の NRQL の Facet 句で複数属性を指定できるようなったようです。ちなみに、Facet 句は SQL の Group By みたいな機能。この記事で紹介されているように、例えば、ある一定期間のページビューを URL ごとに見たい場合に使ったりする。

その NRQL は、”Select count(*) from PageView facet pageUrl” 。

でさらに、こっから、ブラウザ種別もみたいとする。つまり、URLとブラウザ種別の組み合わせでページビューがみたいとする。”/hoge” の Chrome と Firefox のページビュー数の違いとか。こういうふうに、複数の軸を混ぜて結果を見るということがで、今まではできなかった。それができるようになりました。というのが、今回の発表です。

(Facet とか出てくるたびに、SQL の Having が使えるようにならんかなといつも思っている。全然追加される気配ないけど)


タイトル: Multi-Attribute FACETs Now Supported for NRQL Queries in New Relic Insights
著者: Mia Isaacson
公開日: 2017.12.06


New Relic Insights を使うと、(New Relic 製品が収集した)データに対して問い合わせを行い、その結果を知ることができます。Insights は簡単に問い合わせが行えるように配慮された作りとなっています。しかし、正確な情報を探し当てるまで、繰り返し問い合わせを必要とすることがあります。知りたいの完全な答えを得るまで、クエリを書き、結果を確認し、(違っていたら)クリエを変更し、それをまた実行する必要があります。あるいは、複数のクエリ結果をもったウィジェットで構成した New Relic ダッシュボードを作成し、複数のデータを一括して確認することもできます。はたまた、全く別のクエリを書いて問い合わせ行うまで、どんな情報が興味深いく重要か分からなかったりします。

どのような方法をたどるにしろ、有用な答えを見つけるための鍵は、重要なパターンと傾向を認識できることです。その手助けをするための機能として New Relic Insights の New Relic Query Language(NRQL) の新機能として FACET 句の複数属性の対応を行いました。この複数の FACET 追加機能により、NRQL がさらにパワフルになりました。ユーザーはこの新しいやり方でデータをまとめることができます。

より堅牢な NRQL クエリを書いてみよう

FACET の複数属性対応では、(いままで)複数のクエリを必要とした結果を1つのクエリにまとめることができます。相関のある属性を組み合わせて、簡単に一致させることができます。

ユーザーは1つのクエリで最大5つの FACET を追加できます。同じウィジェットでそれらの結果を一緒に見ることができるようになります。(例えば、以下のクエリでは pageUrl、userAgentName、userAgentVersion の3つの FACET をもっています)

重要なことは、複数 FACET は単一属性に限定されているわけではありません。CASES を含め、facet に指定した属性を指定できます。以下のクエリは、apm_product と mobile-product を利用しています。

クエリで複数の FACET を使用することで、New Relic ユーザーはよりもきめ細かなデータ分析を行うことができるようになります。

より簡単に求めた結果を知ることができる

FACET の複数属性を利用することで、ミックスとマッチングを使って、見たい観点のデータ探索から、ミッションクリティカルなクエリの結果を得るために、データを様々組み合わせて、掘り下げて確認したりと、ほとんど何でも行うことができます。

複数属性対応する前は、望むデータを得るために、複数のクエリを実行する必要がありました。以下のクエリを実行したとしましょう。

SELECT average(pageRenderingDuration) FROM PageView where userAgentName = ‘Chrome’ facet pageUrl since 60 minutes ago limit 10

そして2番目のクエリでは、”Chrome” を “Firefox” に変更して、実行したり、データを減らすために、WHERE 句を使って pageURL やその他の関数で結果を絞りんだりする必要がありました。

一方、複数属性対応した FACET があれば、望む結果を得るためにクエリを絞り込む必要はありません。今度は、次のように複数のFACETを適用することによって、データセットのより完全な外観を得ることができます。

SELECT average(pageRenderingDuration) FROM PageView facet userAgentName, userAgentVersion, pageUrl since 60 minutes ago limit 10

以下は同じクエリから導きだした異なる3つのチャートです。ページレンダリングの​​平均時間を示しています。同時に、PageURL、userAgentName、userAgentVersion でグルーピングした結果となっています。


上の棒グラフは、ブラウザ種別/バージョン別の PageURL のレンダリングの平均時間を示しています。

上の表は、ブラウザ種別/バージョン別の PageURL のレンダリングの平均時間を示しています。

上の時系列チャートは、ブラウザ種別/バージョン別の PageURL のレンダリングの平均時間を示しています。

同じチャートで複数の FACET をまとめて表示すると、完全なデータを理解しようとするときに形成されたギャップを埋めるのに役立ちます。

FACET 句の複数属性については、New Relic Insights のドキュメントをご覧ください。

Qiita で New Relic Advent Calendar 2017 いろいろ書きました。特に、New Relic APM の入門的な連載を書きましたので、是非、ご覧ください。

New Relic 公式の日本 New Relic ユーザー会を立ち上げました。ワークショップの情報など日本のお客様向けに情報を発信していきますので、是非、参加ください。

過去記事

2018/09/13

翻訳: FutureStack18: New Relic 開発者向けプログラム-オープン化、シンプル化、活発化への道

今年も始まりました。New Relic の年次カンファレンス FutureStack 18。
この記事では、Elixir 用の New Relic APM エージェントの発表とデベロッパープログラムの発表がされています。

続きを読む

2018/08/27

翻訳: New Relic APM 新機能: 分散トレーシング

New Relic APM にDistributed Tracing (分散トレーシング)機能が追加されました。メニュー単位で機能が追加されたのはだいぶなかったのではないかと思います。マイクロサービスにおけるサービスをまたがったデータの流れを可視化できる機能のようです。是非、チェックしてみてください。

続きを読む

2018/05/18

SREcon18 と Rails デベロッパー向けアンケート結果の紹介

SRECon America カンファレンスにおけるアンケートの記事と Rails デベロッパーに対するアンケートの記事という2つの異なったレイヤーのアンケートに関する記事を見つけたので、ざっくり紹介します。違った視点での傾向が見れてなかなか面白いです。

続きを読む

2018/05/11

AWS Summit Tokyo を中心に直近の New Relic 関連イベントのご紹介

5/30 から始まる AWS summit Tokyo に参加するということで、海外から New Relic スタッフが来日し、イベント等を行います。是非、この機会に New Relic に興味のある人は参加してみてはいかがでしょうか。(基本、日本人スタッフいるので、日本語でも大丈夫なはず)

続きを読む

2018/03/17

翻訳: New Relic Browser JavaScript Error Analytics ベータ版 – エラーの早期発見、修正に役立つ

New Relic Browser の JS エラー機能が新しくなるようです (現在ベータ版)。APM で採用されているエラープロファイルが JS エラーにも対応したようです。これによって、エラーが起きている傾向が分析できるようになり、今後の JS のエラーが起きる前に対策が取りやすくなります。既存の PRO ユーザーはベータ版が使えるようなので、是非、使ってみてください。

続きを読む

 もっと見る