【问题标题】:Using application insights REST API for reading custom events使用应用程序洞察力 REST API 读取自定义事件
【发布时间】:2017-02-17 03:29:28
【问题描述】:

我们在页面上设置了一个自定义事件,用于跟踪给定页面上的链接点击以获取应用洞察。借助 REST API,我们希望从应用洞察中获取经常访问的链接。 我们如何构建查询来获取这些分析数据,是否有任何关于读取自定义事件的示例?

谢谢

【问题讨论】:

  • 这现在是 Azure 中更新的 App Insights 的一项功能。你还需要帮助吗?

标签: azure-application-insights ms-app-analytics


【解决方案1】:

如果您打开任何资源的 Application Insights Analytics 网站,首页就会显示一些“常见查询”示例。其中一个叫做“使用”,如果你点击它,它会告诉你这个:

//What are the top 10 custom events of your application in the past 24 hours?
customEvents 
 | where timestamp >= ago(24h)
 | summarize dcount(user_Id), count() by name
 | top 10 by count_ 
 | render barchart

其中:

  1. 查询customEvents,
  2. 过滤到最近 24 小时 (timestamp >= ago(24h)),
  3. 汇总不同的用户数 (dcount(user_Id)) 和事件总数 (count()),按事件名称 (by name) 分组,
  4. 然后根据汇总创建的 _count 字段过滤到前 10 名 (top 10 by count_)
  5. 然后将其呈现为条形图 (render barchart)

分析主页上还有许多其他示例。

编辑以添加:您也可以轻松查询您发送的任何自定义属性或指标。每个事件类型中的customDimensionscustomMeasurements 字段都是json 类型字段,如果名称中没有空格,您可以使用点符号来获取值。如果字段有名称/特殊字符,请使用括号和引号:

customEvents 
 | where timestamp >= ago(1h)
 | extend a = customDimensions.NameOfFieldWithNoSpacesOrSpecialCharacters
 | extend b = customDimensions["Field with spaces"]
 | extend duration = customMeasurements["Duration (ms)"]
 | project a, b, duration
 | limit 10 

(你不需要使用extend,你可以使用你想要的字段,使用extendprojectsummarize或任何其他功能或其他任何东西。我只是使用了@这里的例子是 987654337@。)

【讨论】:

  • 您好约翰,感谢您的意见。已检查分析示例,我们无法找到一种方法来读取我们使用分析使用查询添加到自定义事件的自定义属性。有没有办法读取我们在使用分析查询将自定义活动记录到应用洞察时记录的自定义数据属性?谢谢
  • 您绝对可以查询自定义属性。 customDimensions 字段保存自定义属性(作为 json),customMeasurements 字段保存自定义指标(也是 json)。我用一个例子更新了答案。
  • John,当我使用 summarise 时,能否请您帮忙处理排序语法。我想通过上述查询的自定义事件属性计数来选择前 3 个。
  • 如果你想要前 3 名,你可以使用| top 3 by duration desc 或任何你想要的字段来代替limit 10
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
  • 1970-01-01
相关资源
最近更新 更多