.NET Core Agent

熟悉java的朋友肯定知道java agent,当我看到java agent时我很是羡慕,我当时就想.net是否也有类似的功能,于是就搜索各种资料,结果让人很失望。当时根据 https://github.com/OpenSkywalking/skywalking-netcore 找到这个 https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-api/profiling/profiling-overview 可是不知道怎么用(求指教,听云的APM怎么做的?)。

新的希望

最近看到 https://github.com/OpenSkywalking/skywalking-netcore 更新了,看了一下,找到这个 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/platform-specific-configuration

动手测试

首先下载源码 https://github.com/aspnet/Docs/tree/master/aspnetcore/fundamentals/host/platform-specific-configuration/samples/2.x ,这里先介绍下《在 ASP.NET Core 中使用 IHostingStartup 从外部程序集增强应用》的三种方式

从 NuGet 包激活

  • 使用 dotnet pack 命令编译 HostingStartupPackage 包。

  • 将包的程序集名称 HostingStartupPackage 添加到 ASPNETCORE_HOSTINGSTARTUPASSEMBLIES 环境变量中。set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=HostingStartupPackage

  • 编译并运行应用。 增强型应用中存在包引用(编译时引用)。 应用项目文件中的 

    指定包项目的输出 (../HostingStartupPackage/bin/Debug) 作为包源。 这允许应用使用该包而无需将包上传到 nuget.org。有关详细信息,请参阅 HostingStartupApp 项目文件中的说明。
  • set ASPNETCORE_ENVIRONMENT=Development

  • dotnet HostingStartupApp.dll 访问效果如下:
    640?wx_fmt=png

从类库激活

  • 使用 dotnet build 命令编译 HostingStartupLibrary 类库。

  • 将类库的程序集名称 HostingStartupLibrary 添加到 ASPNETCORE_HOSTINGSTARTUPASSEMBLIES 环境变量中。set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=HostingStartupLibrary

  • bin - 通过将类库编译输出中的 HostingStartupLibrary.dll 文件复制到应用的 bin/Debug 文件夹,将类库程序集部署到应用。

  • set ASPNETCORE_ENVIRONMENT=Development

  • dotnet HostingStartupApp.dll 访问效果如下:
    640?wx_fmt=png

从运行时存储部署的程序集激活(重点,可以实现Automatic-Agent)

  • StartupDiagnostics 项目使用 PowerShell 修改其 StartupDiagnostics.deps.json 文件。 默认情况下,Windows 7 SP1 和 Windows Server 2008 R2 SP1 及以后版本的 Windows 上安装有 PowerShell。 若要在其他平台上获取 PowerShell,请参阅安装 Windows PowerShell。

  • 构建 StartupDiagnostics 项目。 构建项目后,会自动生成项目文件中的构建目标:

  1. 触发 PowerShell 脚本以修改 StartupDiagnostics.deps.json 文件。

  2. 将 StartupDiagnostics.deps.json 文件移动到用户配置文件的 additionalDeps 文件夹。

  • 在承载启动目录的命令提示符处执行 dotnet store 命令,将程序集及其依赖项存储在用户配置文件的运行时存储中:
    dotnet store --manifest StartupDiagnostics.csproj --runtime 


    对于 Windows,该命令使用 win7-x64 运行时标识符 (RID)。 为其他运行时提供承载启动时,请替换为正确的 RID。
  • 设置环境变量:

  1. set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=StartupDiagnostics

  2. set DOTNET_ADDITIONAL_DEPS=%UserProfile%.dotnet\x64\additionalDeps\StartupDiagnostics

  • 运行示例应用

  • 请求 /services 终结点以查看应用的注册服务。 请求 /diag 终结点以查看诊断信息。
    /services
    640?wx_fmt=png
    /diag
    640?wx_fmt=png

总结

用第三种方式就可以实现Automatic-Agent,在此感谢skywalking-netcore的付出.
这里可能没有将清楚agent的概念,还请大家自行补脑。
如有补充或错误请指出,谢谢!

原文地址: https://www.cnblogs.com/kingreatwill/p/9756222.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/319531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】8月14日题目精讲 [SCOI2010]游戏

来源:牛客网: 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备&#x…

AT3957-[AGC023F]01 on Tree【贪心,堆】

正题 题目链接:https://www.luogu.com.cn/problem/AT3957 题目大意 nnn个节点的一棵树,每个节点有0/10/10/1。每次删除一个根节点,然后把该节点的值填入序列,求最终序列的最小逆序对数量。 n≤2105n\leq 2\times 10^5n≤2105 解题思路 考虑…

【状压DP】吃货JYY(luogu 6085)

正题 luogu 6085 题目大意 给你一个无向图,其中有一些边是必须走的,问你从1开始走,经过所有必须走的边,然后回到1的最短路径 解题思路 n很小,可以先用Floyd跑出两个点之间的最短路 然后状压DP,每个点存…

ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)

在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist。今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NET Core应用程序的持续集成。为了便于讨论,本文会将持续集…

Codeforces Round #672 (Div. 2)

A - Cubes Sorting 冒泡排序交换次数等于逆序对数,严格降序需要交换n(n−1)2\frac{n(n-1)}{2}2n(n−1)​次才能升序排列,由此只需要判断原数组是否严格降序即可。 #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize…

P6134-[JSOI2015]最小表示【bitset,拓扑排序】

正题 题目链接:https://www.luogu.com.cn/problem/P6134 题目大意 给出一张nnn个点mmm条边的DAGDAGDAG。求联通情况不变的情况下最多删除几条边。 1≤n≤3104,0≤M≤1051\leq n\leq 3\times 10^4,0\leq M\leq 10^51≤n≤3104,0≤M≤105 解题思路 拓扑排序后,如果…

【每日一题】8月17日题目精讲-[SCOI2009]生日礼物

来源:牛客网: 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有N个&#xff…

纪中A组模拟赛总结(2021.7.21)

成绩 rankrankranknamenamenamescorescorescoreT1T1T1T2T2T2T3T3T3T4T4T4383838lyflyflyf393939363636000000333总结 T1发现数据很小可以直接暴力,就暴力求出所有方案数,然后堆排了一下 然后看到T2,发现不会 看着T3以为就是两种状态的最短…

Followme Devops step by step

接着上次分享的devops历程[Followme Devops实践之路], 大家希望能够出一个step by step手册, 那今天我就来和手把手来一起搭建这么一套环境, 演示整个过程!实验环境需要准备docker /docker compose建议大家使用国外的vps学习, 不需要考虑网络/gwf的问题/方便(本demo搭建在linod…

Codeforces Round #673 (Div. 2)——待补 E

由于开学了,一般晚上就不打cf了(太晚了,寝室不太适合打),而且赛后也懒得vp,有时候会在图书馆口胡题目,然后回寝室补一补,不过我也写得太久了吧,很多细节疯狂wa A - Copy…

【每日一题】8月25日题目精讲 XOR-pyramid

文章目录题目描述:题解:代码:题目描述: 链接:https://ac.nowcoder.com/acm/problem/112798 来源:牛客网 输入描述: 输出描述: Print q lines — the answers for the queries. 示例1 输入 复制 3 8 4 1…

AT3611-Tree MST【点分治,最小生成树】

正题 题目链接:https://www.luogu.com.cn/problem/AT3611 题目大意 给出nnn个点的一棵树。 现在有一张完全图,两个点之间的边权为wxwydis(x,y)w_xw_ydis(x,y)wx​wy​dis(x,y)(disdisdis表示树上距离) 求这张完全图的最小生成树。 2≤n≤…

【LCT】大融合(luogu 4219)

正题 luogu 4219 题目大意 给你一棵树(初始都无连边),让你进行以下操作: 1.连接两个点 2.查询一条边被多少条路径经过 解题思路 因为有边的修改,可以用LCT来维护这棵树 一条边的经过次数,就相当于连接…

申请Office 365一年免费的开发者账号攻略(2018年10月份版本)

要进行Office 365开发,当然需要有完整的Office 365环境才可以。为了便于广大开发人员快速地启动这项工作,微软官方给所有开发人员提供了免费的一年开发者账号那么如何申请Office 365一年免费的开发者账号呢?网上已经有一些攻略了,…

Codeforces Round #674 (Div. 3)

突如其来的div3&#xff0c;赛后打了一下。 A - Floor Number 数学题答案是1⌈n−2x⌉1\lceil \frac{n-2}{x} \rceil1⌈xn−2​⌉ #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<iostream> #include<algorithm&…

【每日一题】8月28日题目精讲 编号

【每日一题】8月28日题目精讲 编号 链接&#xff1a;https://ac.nowcoder.com/acm/problem/19925 来源&#xff1a;牛客网 题目描述 你需要给一批商品编号&#xff0c;其中每个编号都是一个7位16进制数&#xff08;由0~9, a-f组成&#xff09;。为了防止在人工处理时不小心把编…

P4321-随机漫游【状压dp,数学期望,高斯消元】

正题 题目链接:https://www.luogu.com.cn/problem/P4321 题目大意 给出nnn个点mmm条边的一张无向图&#xff0c;qqq次询问。 每次询问给出一个点集和一个起点&#xff0c;求从起点出发随机游走经过所有点集的期望步数。 n∈[1,18],m∈[1,n(n−1)2],q∈[1,105]n\in[1,18],m\i…

开源若要天下闻,掌声须给教育人

引子故事一当我们介绍 Linux Kernel 项目历史的时候&#xff0c;我们会如此说&#xff1a;“1991 年&#xff0c;赫尔辛基大学的大学生 Linus torvald, 在自己的电脑上开发了一个能够运行在 X86 架构上的操作系统&#xff0c;并将它发布在互联网上&#xff0c;任何人都可以参与…

纪中A组模拟赛总结(2021.7.22)

成绩 rankrankranknamenamenamescorescorescoreT1T1T1T2T2T2T3T3T3T4T4T4141414lyflyflyf101010000101010000000总结 T1明显状压&#xff0c;求方案感觉可以用容斥&#xff0c;但又发现假了&#xff0c;就跳过了 T2想找找有没有规律&#xff0c;就把表打了出来&#xff0c;但…

【模板】线性基

ACM模板 文章目录构造线性基线性基模板操作线性基相关题目学习线性基可考虑以下大佬博客 知乎Pecco博客 博客园Kaori博客 menci博客 肖然博客 从线性代数谈线性基&#xff08;有点硬核&#xff09; 构造线性基 普通插入&#xff1a; 不能保证除了主元上其他线性基元素该位置为…