写点什么

DotNet 工具箱之性能监控组件——CLRStats

作者:为自己带盐
  • 2021 年 12 月 21 日
  • 本文字数:1189 字

    阅读完需:约 4 分钟

CLRStats 是一种统计 NET 应用程序资源数据使用情况的插件。包括:CPU 使用情况、GC、线程状态、通过 web 请求获取状态信息的支持(可以自定义访问路径和身份验证),数据将以 JSON 格式返回。

支持.net framework 4.5+,.net core 2.0+

安装

如果开发环境是 VS 的话,直接使用 nuget 包管理器进行安装。

也可以直接通过命令行来安装

PM> Install-Package CLRStats
复制代码

DotNetCore 接入

1.注入监控面板服务


app.UseCLRStatsDashboard("/clrstats", new DashboardOptions() { Authorization = new IDashboardAuthorizationFilter[] { new TokenVerification() } });
复制代码

2.设定访问验证参数(也可以不要这步,不要的话直接注入服务,就不用设定附加参数了)

/// <summary>/// 自定义验证类/// 继承IDashboardAuthorizationFilter方法,实现授权方法/// </summary>public class TokenVerification : IDashboardAuthorizationFilter{		public bool Authorize(HttpRequest request)		{			if (request.Headers.ContainsKey("Token") && request.Headers["Token"].Equals("oaclr"))			{				return true;			}			return false;		}	}
复制代码

3.访问路由接口,观察返回数据


4.做一个 UI 界面,监控网站运行情况

代码不贴了,最终效果是这样



DotNet Framework 接入

1.引入 Owin,注入服务

public void Configuration(IAppBuilder app){              ConfigureAuth(app);  app.SetLoggerFactory(new ConsoleLoggerFactory());  app.UseCLRStatsDashboard("/cxxyClr");//注入clrstatus,自定义路由名称}
复制代码

2.访问路由接口,观察返回数据

framework 框架下,返回的数据格式是 json 字符串,使用的时候需要序列化一下。

3.做一个 UI 界面,监控网站允许

同上

4.其他

CLRStatus 默认是支持 MVC 框架的,但如果传统的 WebForm 框架想要使用的化,可以自己设置一下,使系统也支持 MVC 种的路由定义。

a.引入 System.Web.Http 命名空间,并实现 Register 方法,定义路由访问形式

public static class WebApiConfig{  public static void Register(HttpConfiguration config)  {    // Web API 配置和服务
// Web API 路由 config.MapHttpAttributeRoutes(); //新用户中心本身支持openid connect,开启后接口将对所有访问进行身份验证 config.Filters.Add(new AuthorizeAttribute()); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); } }
复制代码

b.注册配置,扩展 webform 的访问形式

void Application_Start(object sender, EventArgs e){  // 在应用程序启动时运行的代码  GlobalConfiguration.Configure(WebApiConfig.Register);}
复制代码

如此,webform 项目,也可以像 mvc 一样编写接口了,可以用 aspx 页面当作模板页面,数据的交换操作仍然通过 rest 接口来进行。

发布于: 3 小时前阅读数: 5
用户头像

学着码代码,学着码人生。 2019.04.11 加入

狂奔的小码农

评论

发布
暂无评论
DotNet工具箱之性能监控组件——CLRStats