加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer 统计 MVC 每个 Action 的 相应时间

发布时间:2020-12-12 13:49:34 所属栏目:MsSql教程 来源:网络整理
导读:1.创建MonitorAction表? CREATE TABLE [dbo].[MonitorAction]([Id] [bigint] IDENTITY(1,1) NOT NULL,[HttpMethod] [varchar](10) NOT NULL,[AreaName] [varchar](50) NULL,[ControllerName] [varchar](70) NOT NULL,[ActionName] [varchar](70) NOT NULL,[A

1.创建MonitorAction表?

CREATE TABLE [dbo].[MonitorAction](
	[Id] [bigint] IDENTITY(1,1) NOT NULL,[HttpMethod] [varchar](10) NOT NULL,[AreaName] [varchar](50) NULL,[ControllerName] [varchar](70) NOT NULL,[ActionName] [varchar](70) NOT NULL,[ActionDescription] [nvarchar](50) NULL,[IsDeleted] [bit] NOT NULL,[CreatedUserId] [varchar](50) NOT NULL,[CreatedTime] [datetime2](7) NOT NULL,[LastUpdatedTime] [datetime2](7) NOT NULL,[LastUpdatedUserId] [varchar](50) NOT NULL,[MaxExecutedMillisecond] [bigint] NULL,[MinExecutedMillisecond] [bigint] NULL,[AvgExecutedMillisecond] [bigint] NULL,[ExecutedTime] [bigint] NULL,[Remark] [nvarchar](100) NULL,CONSTRAINT [PK_MonitorAction] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF,STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[MonitorAction] ADD  CONSTRAINT [DF_MonitorAction_IsDeleted]  DEFAULT ((0)) FOR [IsDeleted]
GO

ALTER TABLE [dbo].[MonitorAction] ADD  CONSTRAINT [DF_MonitorAction_CreatedUserId]  DEFAULT ('System') FOR [CreatedUserId]
GO

ALTER TABLE [dbo].[MonitorAction] ADD  CONSTRAINT [DF_MonitorAction_CreatedTime]  DEFAULT (getdate()) FOR [CreatedTime]
GO

ALTER TABLE [dbo].[MonitorAction] ADD  CONSTRAINT [DF_MonitorAction_LastUpdatedTime]  DEFAULT (getdate()) FOR [LastUpdatedTime]
GO

ALTER TABLE [dbo].[MonitorAction] ADD  CONSTRAINT [DF_MonitorAction_LastUpdatedUserId]  DEFAULT ('System') FOR [LastUpdatedUserId]
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'标识列',@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'MonitorAction',@level2type=N'COLUMN',@level2name=N'Id'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'客户端使用的HTTP传输方法',@level2name=N'HttpMethod'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'Area名称',@level2name=N'AreaName'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'Controller名称',@level2name=N'ControllerName'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'Action名称',@level2name=N'ActionName'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'Action说明',@level2name=N'ActionDescription'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'逻辑删除',@level2name=N'IsDeleted'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'创建人(标识)',@level2name=N'CreatedUserId'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'创建时间(这条业务数据产生的时间)',@level2name=N'CreatedTime'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'最后修改时间',@level2name=N'LastUpdatedTime'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'最后修改人(标识)',@level2name=N'LastUpdatedUserId'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'最大执行时间',@level2name=N'MaxExecutedMillisecond'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'最小执行时间',@level2name=N'MinExecutedMillisecond'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'平均执行时间',@level2name=N'AvgExecutedMillisecond'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'执行总次数',@level2name=N'ExecutedTime'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'备注',@level2name=N'Remark'
GO

EXEC sys.sp_addextendedproperty @name=N'Description',@value=N'监控Action的响应时间',@level1name=N'MonitorAction'
GO




2.执行Sql语句 建议 用SqlServer 定时计划进行执行

INSERT INTO MonitorAction 
(
	HttpMethod,AreaName,ControllerName,ActionName,ActionDescription,MaxExecutedMillisecond,MinExecutedMillisecond,AvgExecutedMillisecond,ExecutedTime,Remark
)

SELECT HttpMethod,max(ActionDescription) ActionDescription,max(ExecutingTimeSpan) MaxExecutedMillisecond,min(ExecutingTimeSpan) MinExecutedMillisecond,AVG(ExecutingTimeSpan) AvgExecutedMillisecond,count(*) ExecutedTime,'数据来源:SqlServer定时计划'
FROM LogActionRenderTime 
GROUP BY  HttpMethod,ActionName 
order by ControllerName,ActionName

-- select * from MonitorAction
-- truncate table MonitorAction

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读