澳门银河怎么提现ma888勐拉168

来源:乐虎lehu国际娱乐之家  责任编辑:小易  

Intro

写接口的难免会遇到别人说接口比较慢,到底慢多少,一个接口服务器处理究竟花了多长时间,如果能有具体的数字来记录每个接口耗时多少,别人再说接口慢的时候看一下接口耗时统计,如果几毫秒就处理完了,对不起这锅我不背。

中间件实现

asp.net core 的运行是一个又一个的中间件来完成的,因此我们只需要定义自己的中间件,记录请求开始处理前的时间和处理结束后的时间,这里的中间件把请求的耗时输出到日志里了,你也可以根据需要输出到响应头或其他地方。

public static class PerformanceLogExtension
{
 public static IApplicationBuilder UsePerformanceLog(this IApplicationBuilder applicationBuilder)
 {
  applicationBuilder.Use(async (context, next) =>
   {
    var profiler = new StopwatchProfiler();
    profiler.Start();
    await next();
    profiler.Stop();

    var logger = context.RequestServices.GetService<ILoggerFactory>()
     .CreateLogger("PerformanceLog");
    logger.LogInformation("TraceId:{TraceId}, RequestMethod:{RequestMethod}, RequestPath:{RequestPath}, ElapsedMilliseconds:{ElapsedMilliseconds}, Response StatusCode: {StatusCode}",
          context.TraceIdentifier, context.Request.Method, context.Request.Path, profiler.ElapsedMilliseconds, context.Response.StatusCode);
   });
  return applicationBuilder;
 }
}

中间件配置

在 Startup 里配置请求处理管道,示例配置如下:

app.UsePerformanceLog();

app.UseAuthentication();
app.UseMvc(routes =>
 {
  // ...
 });
// ...

示例

在日志里按 Logger 名称 “PerformanceLog” 搜索日志,日志里的 ElapsedMilliseconds 就是对应接口的耗时时间,也可以按 ElapsedMilliseconds 范围来搜索,比如筛选耗时时间大于 1s 的日志

Memo

这个中间件比较简单,只是一个处理思路。

大型应用可以用比较专业的 APM 工具,最近比较火的 Skywalking 项目可以了解一下,支持 .NET Core, 详细信息参考: https://github.com/SkyAPM/SkyAPM-dotnet

Reference

https://github.com/WeihanLi/ActivityReservation

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对乐虎lehu国际娱乐之家的支持。

您可能感兴趣的文章:


  • 本文相关:
  • 详解在asp.net core 中使用cookie中间件
  • 详解asp.net core 中间件之压缩、缓存
  • 浅谈asp.net core 中间件详解及项目实战
  • asp.net core 通过中间件防止图片盗链的实例
  • 浅谈asp.net core中间件实现分布式 session
  • 浅谈asp.net core 2.0 带初始参数的中间件(译)
  • asp.net core 2.0 带初始参数的中间件问题及解决方法
  • 浅谈asp.net core 2.0 中间件(译)
  • asp.net core中间件设置教程(7)
  • .net windows 多线程thread亚洲最佳在线娱乐平台
  • 浅析.net逻辑分层架构
  • asp net core 2.1中如何使用jwt(从原理到精通)
  • asp.net二级域名共享forms身份验证、下载站/图片站的授权访问控制
  • .net自带的库生成zip文件的方法
  • asp.net环境下为网站增加ip过滤功能
  • 网页web打印控件制作
  • asp.net获取url方法汇总
  • asp.net gridview使用大全(分页实现)
  • asp.net mvc从视图传参到控制器的几种形式
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.pradaoutletonline.net All Rights Reserved