2017-11-18 6 views
0

私はアプリケーションの洞察を使用して、アプリケーションでAPIの使用状況を監視しています。私は、過去2ヶ月間に特定のAPIが何回呼び出されたかを一覧表示するレポートを生成しようとしています。ここに私のクエリがあるAPIの名前でグループ化するが、パラメータを無視する - アプリケーションの洞察

requests 
| where timestamp >= ago(24*60h) 
| summarize count() by name 
| order by count_ desc 

問題は、異なるパラメータで設定した結果で何度もAPIの「名前」はまた、URLと一緒に添付のパラメータを持っている、ので、同じAPIが表示されていることである(たとえば、GET api/getTasks/1、GET api/getTasks/2)。私は '要求'スキーマを調べて、パラメータなしのAPI名を持っているが使用できない列があるかどうかを調べようとしましたが、それを見つけることはできませんでした。洞察にパラメータなしでグループ化する方法はありますか?クエリにお役立てください。事前にありがとうございます。

答えて

1

これにより、第2のスラッシュの後にすべてをカット:

requests 
| where timestamp > ago(1d) 
| extend idx = indexof(name, "/", indexof(name, "api/") + 4) 
| extend strippedname = iff(idx >= 0, substring(name, 0, idx), name) 
| summarize count() by strippedname 
| order by count_ 

別のアプローチ(API面が小さい場合)ネストIIF演算子を介して値を抽出することです。

関連する問題