視覚化は効果的なノートブックの重要なコンポーネントであり、クエリ結果を明確で説得力のあるチャートに変換することで、データの説明をサポートします。ノートブックは、New Relicクエリビルダーで使用できるすべての視覚化オプションをサポートします。
利用可能なチャートタイプ
データとストーリーに適した視覚化を選択します。
折れ線グラフ
時間の経過に伴う傾向を示したり、複数のメトリクスを比較したりするのに最適です。
最適な用途:時系列データ、パフォーマンス傾向、経時的なメトリクスの比較
クエリの例:
SELECT average(duration) AS 'Response Time'FROM TransactionWHERE appName = 'MyApp'TIMESERIES 5 minutesSINCE 6 hours ago面グラフ
線の下の塗りつぶされた領域で、時間の経過に伴うボリュームと構成の変化を表示します。
最適な用途:累積データ、内訳付きの合計量、時間の経過に伴うリソース使用量の表示
クエリの例:
SELECT count(*) FROM TransactionWHERE appName = 'MyApp'FACET hostTIMESERIES 10 minutesSINCE 2 hours agoバーチャート
異なるカテゴリまたはディメンション間で値を比較します。
最適な用途:カテゴリ間の値の比較、上位Nリスト、エラーの内訳
クエリの例:
SELECT count(*) AS 'Request Count'FROM TransactionWHERE appName = 'MyApp'FACET nameSINCE 1 hour agoORDER BY count(*) DESCLIMIT 10円グラフ
比例データとパーセンテージの内訳を表示します。
最適な用途:全体の一部、パーセンテージ分布、単純なカテゴリ内訳の表示
クエリの例:
SELECT count(*) FROM TransactionWHERE appName = 'MyApp'FACET httpResponseCodeSINCE 1 hour agoテーブル
詳細データを行と列で表示し、正確な値を表示します。
最適な用途:詳細なデータ、正確な値、複数の属性を持つリスト、デバッグ
クエリの例:
SELECT timestamp, name, duration, httpResponseCodeFROM TransactionWHERE appName = 'MyApp' AND duration > 5SINCE 1 hour agoORDER BY duration DESCLIMIT 20ビルボード
重要なメトリクスを1つだけ目立つように強調表示します。
最適な用途:主要パフォーマンス指標、要約統計、単一の重要な値
クエリの例:
SELECT average(duration) AS 'Avg Response Time (ms)'FROM TransactionWHERE appName = 'MyApp'SINCE 1 hour ago視覚化のカスタマイズ
チャート設定
クエリブロックのChart settingsアイコンをクリックして、チャートのカスタマイズオプションにアクセスします。
- 色:データ系列のカスタム色を選択
- 軸:軸ラベル、範囲、書式をカスタマイズ
- 凡例:凡例の表示/非表示、位置の調整
- 閾値:目標またはアラートの水平線を追加
- 単位:数値、パーセンテージ、時間値の書式設定
カラースキーム
物語をサポートする色を選択します。
- デフォルトのパレット:一貫性を保つためのNew Relic標準カラー
- カスタムカラー:組織のブランドに合わせる
- アクセシブルカラー:読みやすさを向上させる高コントラスト
- ステータスカラー:正常は緑、エラーは赤、警告は黄色
書式設定オプション
わかりやすくするためにデータをフォーマットします。
- 数字:千単位の区切りと小数点を追加
- パーセンテージ:小数点ではなくパーセンテージで表示
- 時間値:時間、分、秒で表示
- バイト:KB、MB、GBのいずれかで表示
視覚化のベストプラクティス
適切なチャートタイプを選択する
ヒント
チャートタイプは、ストーリーから注意を逸らすものではなく、ストーリーをサポートするものでなければなりません。疑問がある場合は、シンプルなものの方が効果的です。
- 時系列データ:折れ線グラフまたは面グラフを使用
- 比較:バーチャートを使用
- 割合:円グラフを使用(ただし、カテゴリは5~7個までに制限)
- 正確な値:表を使用
- 主要メトリクス:ビルボードを使用
分かりやすさを重視したデザイン
チャートのタイトルとラベル
分かりやすいタイトルとラベルを必ず追加しましょう。
SELECT average(duration) AS 'Average Response Time (ms)', percentile(duration, 95) AS '95th Percentile (ms)'FROM TransactionWHERE appName = 'E-commerce API'SINCE 24 hours agoTIMESERIES 1 hour一貫したフォーマットの使用
- 同じ時間範囲を使用して同様のチャートを維持
- 関連するチャート全体で一貫した配色を使用
- ノートブック全体に同じ書式ルールを適用
重要な情報の強調表示
- 閾値を使用して目標またはSLA境界を表示
- 問題に注意を喚起する色を選択(エラーの場合は赤)
- ビルボードの大きさは重要度に応じて適切に
コンテキストとストーリーテリング
説明テキストの追加
Markdownブロックを使用して、視覚化のコンテキストを提供します。
## Response Time Analysis
The chart below shows a significant spike in response times at 2:30 PM,corresponding with the deployment of version 2.1.4. The 95th percentilereached 2.8 seconds, well above our 500ms SLA target.
### What this means:- 5% of users experienced unacceptable delays- The issue was resolved by rolling back the deployment- We need better performance testing before releases複数のチャートでストーリーを伝える
視覚化をアレンジして物語を構築します。
- 概要チャート:概要メトリクスから開始
- ドリルダウンチャート:特定の側面またはセグメントを表示
- 根本原因チャート:根本的な原因を表示
- 解決チャート:改善や修正を表示
高度な視覚化技術
動的チャートに変数の使用
変数を使用して再利用可能な視覚化を作成します。
{{appName = "production-api"}}{{timeRange = "6 hours ago"}}SELECT count(*) AS 'Requests', average(duration) AS 'Avg Duration'FROM TransactionWHERE appName = '{{appName}}'TIMESERIES 5 minutesSINCE {{timeRange}}比較分析
前後の比較や期間の比較を表示します。
SELECT average(duration) AS 'Response Time'FROM TransactionWHERE appName = 'MyApp'TIMESERIES 1 hourSINCE 7 days agoCOMPARE WITH 1 week ago多面的な分析
メトリクスを複数の側面から分析します。
SELECT count(*) FROM TransactionWHERE appName = 'MyApp'FACET host, httpResponseCodeSINCE 2 hours ago視覚化のトラブルシューティング
よくある問題
チャートにデータが表示されない:
- 時間範囲にデータが含まれているか確認する
- WHERE句が正しいことを確認する
- データにアクセスする権限があることを確認する
チャートが雑然としすぎている:
- LIMIT句を使用して系列数を減らす
- 複数のチャートに分割することを検討する
- 集計を使用して重要度の低いカテゴリを結合する
データに誤りがある可能性がある:
- 時系列でタイムゾーンの問題を確認する
- 計算フィールドの計算を検証する
- 想定されるデータを除外する可能性のあるフィルタリングを探す
パフォーマンスの最適化
- 分析に適した時間範囲を使用する
- 特定のWHERE句を追加してデータ量を制限する
- 非常に大規模なデータセットにはサンプリングを使用する
- パフォーマンス向上のため近似関数の使用を検討する
次は何ですか?
- チームとノートブックを共有する方法を学ぶ
- 視覚化のインスピレーションを得るためのノートブックの例を調べる
- 利用可能なすべての視覚化の詳細については、チャートタイプガイドをご覧ください