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 日微信小程序上线,整整过去了一个月时间.和互联网时代每天出现的众多新鲜事物相似,小程序甫一诞生,立即占据了各大科技媒体网站头屏并引起社交圈的兴奋讨论.由于背靠微信,纷纷 ...
随机推荐
- LibLog 类库 分析
前期思考: Microsoft.Logging 是否可用? 是否需要提供默认的 Logger 实现? 不需要.1,用户自己开启日志功能,设置开启属性,即可打印出相应的日志. LibLog 类库分析: ...
- IDEA不能读取配置文件,springboot配置文件无效、IDEA resources文件夹指定
- 【UOJ#75】【UR #6】智商锁(矩阵树定理,随机)
[UOJ#75][UR #6]智商锁(矩阵树定理,随机) 题面 UOJ 题解 这种题我哪里做得来啊[惊恐],,, 题解做法:随机\(1000\)个点数为\(12\)的无向图,矩阵树定理算出它的生成树个 ...
- NET 线程可传递参数
1.多线程执行方法 /// <summary> /// 随机数保存队列 /// </summary> private Queue<string> _randomQu ...
- c++语法大全笔记(一)
目录 一:初级知识 c++是一种中级语言,是c的扩充,是一种面向对象的程序设计语言,可以运行到多个平台.这里直接讲语法. 基础c++模板: #include <iostream> ...
- oracle 主键生成策略-sequence序列+trigger触发器
oracle中设置表的主键字段为自增序列(实例)1.首先创建一个表(如日志表) //删除库表中存在的日志表drop table S_LOG_INFO cascade constraints;//新建日 ...
- python3使用模块
Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python3 # -*- codi ...
- [20190505]ts 命令在哪里.txt
[20190505]ts 命令在哪里.txt --//在论坛问一下ts命令在哪里?没人解答,自己也google看了一下:https://unix.stackexchange.com/questions ...
- SUSE12-SP2安装教程(虚拟机)
创建虚拟机,安装系统,安装系统后的系统设置 创建虚拟机 将SUSE12-SP2镜像(大于3G)上传到虚拟机主机存储. 创建虚拟机创建虚拟机,CPU>=8核,内存>=16G(注:我这里仅演示 ...
- 数据挖掘--DBSCAN
DBSCAN:Density Based Spatial Clustering of Applications with Noise Basic idea: If an object p is den ...