ApplicationInsights的探测器尝鲜
通常我们可以依靠ApplicationInsights(以下简称ai)来收集比如请求(request),依赖项(dependencies),异常(exception)等信息,但是无法收集到比如一个方法(方法内部比如没有依赖项调用)的信息。
很多时候如果一个方法很慢,我们只能根据ai分析首先是不是依赖项慢导致,如果不是,就以依赖项为节点,看这个依赖项是前面慢还是后面慢,然后在进行下一步分析。
然后又回到了性能优化全靠猜的地步。
ai能不能也有类似一些高阶的分析工具所具有的分析代码某路径耗时的功能呢?答案是肯定的。
ai有一个功能称之为探查器,就是专门用于诊断这种代码级性能的,其中早期的只能在azure上才能使用(无论你是web app部署还是vm部署都可以但是必须要是在azure上的)
这个其实限制了其使用范围,因为我司并没有使用azure web app来承载站点而是跑在自己机房上(只能干瞪眼流口水)
现在他有一个面向core的可以自己安装的版本
具体地址 https://github.com/microsoft/ApplicationInsights-Profiler-AspNetCore
目前这个项目还处于beta阶段,可以运行在windows和linux下
使用也很简单,首先项目肯定要是用了ai的,而且要是2.1以上的asp.net core项目,然后在使用ai的基础上安装对应的包,然后添加一行代码即可
需要安装一个新的ai的profiler的nuget包,注意目前该包只有pre-release版本,如果搜索不到注意下是否勾选了show pre-release package
添加使用Profiler的代码
装好之后,站点直接启动运行即可
此时站点除了常规的ai监控外,额外获得了profiler的能力,他会偶尔的汇报几个profiler的包,汇报的策略目前我个人还不清楚不过可以确定这个汇报的包肯定不多
我手头一个一天5万多访问量(2台机器)的站点1天下来也就4个profiler
众所周知的是ai是基于数据量收费的,如果过多的包这个荷包子是个问题,我这边目前也是一个项目先扔上去看下会导致多少费用增长,目前看起来还好。
先看看profiler的效果,如果收集到了profiler的话,会在性能面板里显示出来,嗯。我这里只有4个
点进去可以看到ai所收集到的profiler的详细信息
这里可以看到我整个流程的一个耗时(当前选中的这个)是300多ms,然后这里可以细化到每个方法的耗时是多少,我就随便找一个分支不断点下去
从上图我们可以看到我这每个操作流程中的耗时,具体可以参考官方文档 https://docs.microsoft.com/zh-cn/azure/azure-monitor/app/profiler-overview 如何从中分析出你的代码
ApplicationInsights的探测器尝鲜的更多相关文章
- Windows 10 周年版尝鲜
早在今年的 Build 大会上,微软就开始宣传最新的 Windows 10 周年版更新,炫了不少特技,直到昨天(2016/8/2 PST)才正式放出,相关新闻可以参考这里,正式的版本为 Version ...
- 【翻译】五步快速使用LINQPad尝鲜StreamInsight
StreamInsight 学习地址:http://www.cnblogs.com/StreamInsight/archive/2011/10/26/StreamInsight-Query-Seri ...
- 小程序新能力-个人开发者尝鲜微信小程序
个人开发者的福利 微信小程序,刚听到这个新名词的时候,我就兴冲冲的去找入口,看看自己能不能搞个微信小程序的HelloWorld,毕竟能在微信上把自己写的一些小工具跑起来还是满炫酷的. 没想,网上一查, ...
- 【响应式】foundation栅格布局的“尝鲜”与“填坑”
提到响应式,就不得不提两个响应式框架--bootstrap和foundation.在标题上我已经说明白啦,今天给大家介绍的是foundation框架. 何为"尝鲜"?就是带大伙 ...
- Spring-Data-JPA尝鲜:快速搭建CRUD+分页后台实例
前言:由于之前没有接触过Hibernate框架,但是最近看一些博客深深被它的"效率"所吸引,所以这就来跟大家一起就着一个简单的例子来尝尝Spring全家桶里自带的JPA的鲜 Spr ...
- 微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅
本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言 Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发( ...
- Linux下尝鲜IDE Rider .NET又一开发利器
RiderRS 扯淡:很多人说:jetbrains出品,必属精品,jetbrains确实出了不少好东西,但是他的产品总感觉越用越慢,我的小Y430P高配版也倍感压力,内存占用率高. Multiple ...
- Win10尝鲜体验——初识传说中不一样的Windows 分类: 资源分享 2015-07-24 18:27 13人阅读 评论(0) 收藏
这几天,网上传来一个消息,虽然不知是好是坏,Win10可以下载安装了! 出于好奇,下载尝鲜,几个截图,留作纪念~ 中文,还是要好好支持的,毕竟中国有如此多的用户 可选的安装版本 许可条款也刚刚出炉,估 ...
- 微信小程序“满月”:尝鲜之后你还用过它吗?
距离 2017 年 1 月 9 日微信小程序上线,整整过去了一个月时间.和互联网时代每天出现的众多新鲜事物相似,小程序甫一诞生,立即占据了各大科技媒体网站头屏并引起社交圈的兴奋讨论.由于背靠微信,纷纷 ...
随机推荐
- 成都,我们来啦 | Dubbo 社区开发者日
[关注 阿里巴巴云原生 公众号,回复关键词"报名",即可参与抽奖!] 活动时间:10 月 26 日 13:00 - 18:00 活动地点:成都市高新区交子大道中海国际中心 233 ...
- Kubernetes 静态PV使用
Kubernetes 静态PV使用 Kubernetes支持持久卷的存储插件:https://kubernetes.io/docs/concepts/storage/persistent-volum ...
- sso单点登录的入门(Session跨域、Spring-Session共享)
1.单点登录,就是多系统,单一位置登录,实现多系统同时登录的一种技术.单点登录一般是用于互相授信的系统,实现单一位置登录,全系统有效的. 区分与三方登录(第三方登录) ,三方登录:某系统,使用其他系统 ...
- Python基础24
import 与 from import 知乎上说的简洁明了,zhihu.com/question/38857862 from import, 导入之后就能拿来用了,直接用!到处用!
- Ext学习之路——Ext.define
Ext.define('My.awesome.Class', { someProperty: 'something', someMethod: function() { alert(s + this. ...
- vue中nextTick的理解
A. vue 中的 nextTick 是什么? 1.首先需要清楚,nextTick是一个函数:这个函数的作用,简单理解就是下一次渲染后才执行 nextTick 函数中的操作: 2.在下一次 DOM 更 ...
- 汇编push,pop
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-08-24,00:40:12作者By-----溺心与沉浮----博客园 1.BASE,TOP是2个32位的通用寄存器,里面存储的 ...
- 团队作业第3周——需求改进&系统设计(crtl冲锋队)
2.需求&原型改进: 1.问题:游戏中我方飞机和敌方飞机是怎么控制的? 改进: 在游戏中,我控制我方飞机,按下方向键飞机便向按下的方向移动,按下Z键,我方飞机发射子弹. 敌方飞机面向随机的方向 ...
- leetcode - 链表两两元素交换 + 判断链表有无环
链表两两元素交换 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3->4, 你 ...
- vue 开发系列(十) VUE 作用域插槽
使用场景 官方解释,有时让插槽内容能够访问子组件中才有的数据是很有用的.比如我们在使用ant-design-vue 的表格控件时. <a-table-column title="注释& ...