通常我们可以依靠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的探测器尝鲜的更多相关文章

  1. Windows 10 周年版尝鲜

    早在今年的 Build 大会上,微软就开始宣传最新的 Windows 10 周年版更新,炫了不少特技,直到昨天(2016/8/2 PST)才正式放出,相关新闻可以参考这里,正式的版本为 Version ...

  2. 【翻译】五步快速使用LINQPad尝鲜StreamInsight

    StreamInsight  学习地址:http://www.cnblogs.com/StreamInsight/archive/2011/10/26/StreamInsight-Query-Seri ...

  3. 小程序新能力-个人开发者尝鲜微信小程序

    个人开发者的福利 微信小程序,刚听到这个新名词的时候,我就兴冲冲的去找入口,看看自己能不能搞个微信小程序的HelloWorld,毕竟能在微信上把自己写的一些小工具跑起来还是满炫酷的. 没想,网上一查, ...

  4. 【响应式】foundation栅格布局的“尝鲜”与“填坑”

      提到响应式,就不得不提两个响应式框架--bootstrap和foundation.在标题上我已经说明白啦,今天给大家介绍的是foundation框架. 何为"尝鲜"?就是带大伙 ...

  5. Spring-Data-JPA尝鲜:快速搭建CRUD+分页后台实例

    前言:由于之前没有接触过Hibernate框架,但是最近看一些博客深深被它的"效率"所吸引,所以这就来跟大家一起就着一个简单的例子来尝尝Spring全家桶里自带的JPA的鲜 Spr ...

  6. 微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅

    本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言   Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发( ...

  7. Linux下尝鲜IDE Rider .NET又一开发利器

    RiderRS 扯淡:很多人说:jetbrains出品,必属精品,jetbrains确实出了不少好东西,但是他的产品总感觉越用越慢,我的小Y430P高配版也倍感压力,内存占用率高. Multiple ...

  8. Win10尝鲜体验——初识传说中不一样的Windows 分类: 资源分享 2015-07-24 18:27 13人阅读 评论(0) 收藏

    这几天,网上传来一个消息,虽然不知是好是坏,Win10可以下载安装了! 出于好奇,下载尝鲜,几个截图,留作纪念~ 中文,还是要好好支持的,毕竟中国有如此多的用户 可选的安装版本 许可条款也刚刚出炉,估 ...

  9. 微信小程序“满月”:尝鲜之后你还用过它吗?

    距离 2017 年 1 月 9 日微信小程序上线,整整过去了一个月时间.和互联网时代每天出现的众多新鲜事物相似,小程序甫一诞生,立即占据了各大科技媒体网站头屏并引起社交圈的兴奋讨论.由于背靠微信,纷纷 ...

随机推荐

  1. FastDFS图片服务器(分布式文件系统)学习。

    参考:https://blog.csdn.net/hiqingtian/article/details/79413471 https://blog.csdn.net/sinat_40399893/ar ...

  2. 读取txt文件内容,并按一定长度分页显示

    private List<string> SaveContentUpload(FileUpload file) { List<string> list_content = ne ...

  3. qt 界面去掉系统边框2.0版

    之前的一版存在bug.如果将鼠标放移动到界面内某个可点击的widget上(如:QPushButton)上,按住鼠标左键不放,界面可能会出现界面非预期移动的问题. 那是因为当鼠标移动到可点击的widge ...

  4. C# .NET 使用 NPOI 读取 .xlsx 格式 Excel

    string filePath = @"C:\Users\yangqinglin\Desktop\test.xlsx"; IWorkbook wk = null; string e ...

  5. 4-consul HTTP API及实践

    其他参考:https://www.cnblogs.com/duanxz/p/9660766.html 原文:https://www.douban.com/note/629645759/ 注意:使用AP ...

  6. VSCode搭建django项目

    之前我们使用VSCode搭建C#项目,今天写一篇关于django项目的搭建,其实以其说是搭建django框架,不如说是如何通过vscode开发django项目:django官网:https://www ...

  7. 关于javascript,多种函数封装!!

    1.获取最终的属性 function getStyleAttr(obj, attr){ if(window.getComputedStyle){ return window.getComputedSt ...

  8. JPA笔记4 ManyToMany

    package many_to_many; import java.util.HashSet; import java.util.Set; import javax.persistence.Entit ...

  9. swift中文版和网站

    http://www.chinaz.com/swift/chapter2/01_The_Basics.html http://www.iphonetrain.com/video_info/290.ht ...

  10. MySQL添加CSV文件中的数据

    一.MySQL添加csv数据 此问题是前几天整理数据的时候碰到的,数据存在 CSV文件中(200多万记录),通过python 往数据库中导入太慢了,后来使用MySQL 中自带的命令 LOAD DATA ...