Articles of 计数器

在Linux中的应用计数器? (和OSX?)

我试图找出是否有一个图书馆给了我一些Windows定制性能计数器(在这里描述http://geekswithblogs.net/.NETonMyMind/archive/2006/08/20/88549.aspx ) 基本上,我正在寻找可用于跟踪应用程序中的全局计数器的东西,并且(理想情况下)是通过定义良好的接口将信息呈现给其他应用程序/用户的东西。 这些是应用统计; 像内存和磁盘的东西可以捕获其他方式,但我正在寻找暴露吞吐量/交易/“小部件”在我的应用程序的生命周期处理。 我见过这个问题: Linux / Unix中“性能计数器”的概念 和这个 可从Java访问的Linux中的registry级别计数器 但都不是我正在寻找的东西。 我不想写一个静态文件(毕竟这是dynamic信息;即使磁盘已满,我也应该能够得到它),而且如果可能的话,宁愿避免使用本地代码集。 理想情况下,至less在Linux上,这个数据会(我认为)以某种方式通过/ proc浮出水面,尽pipe我不清楚这是否可以从用户域完成(这一点并不重要,只要它在某些地方浮出水面对客户的方式。) 但回到问题的关键:是否有任何内置或合适的第三方库,给我自定义全局(线程安全,性能)计数器适合我可以在Linux和其他* NIXy操作系统上使用的应用程序指标? (可以从C / C ++接口?)

性能监视器.NET CLR Networking 4.0.0.0实例命名

我试图使用性能计数器确定多less字节我的应用程序已发送或接收。 我按照这里提供的build议解决scheme: 计算带宽 ,但我的应用程序的实例不显示在“.NET CLRnetworking”类别。 exception消息: “实例”ApplicationName [8824]“在指定的类别中不存在” (我已经在我的App.config中添加了<performanceCounters enabled="true"/> ,并且在一些networking活动之后仍然无法find它) 所以我开始使用性能监视器,亲眼看到错误。 正如所料,我的应用程序不会出现在.NET CLR Networking类别中,但可以在.NET CLR Networking 4.0.0.0类别中find。 但是,我的问题是,我不知道如何生成实例名称。 以下是我在性能监视器中看到的实例的名称: ApplicationName.exe_p4952_r15_ad1 。 到目前为止,我已经知道第一部分必须由ProcessName和PID组成 ,但是我不知道最后两个部分( “r15”和“ad1” )是从哪里来的。 有人知道最后两件是什么吗? 一种解决scheme是枚举在“.NET CLR Networking 4.0.0.0”类别中find的所有实例,并searchApplicationName.exe_PID *,但希望直接查找正确的名称(如果可能)。

可从Java访问的Linux中的registry级别计数器

我正在寻找类似于Windows中的自定义计数器的Linux系统中的计数器,这些计数器可以通过C#访问。 (http://msdn.microsoft.com/en-us/library/aa326924%28v=vs.71%29.aspx)。 我的用例是这样的:我有一个从位置A到B导入文件的过程。这个文件有一些XMLlogging需要parsing并加载到数据库中。 我想有计数器,我可以不断增加,例如,每当在B收到一个新的文件,并且每当一个logging被导入到数据库。 我想定期logging这些计数器值,以检测出任何不一致。 当我使用Windows + C#的时候,我习惯使用自定义计数器(参考上面的链接)来做到这一点,但是我怎样才能在Linux + Java中做到这一点? 谢谢你的帮助..

计算Windows进程的CPU使用率?

给定一个进程ID,我怎样才能从这个进程的C#加载CPU的负载? 我已经尝试使用PerformanceCounter在c#中所述计算特定应用程序的CPU使用率 我还尝试在一个时间范围内手动取得进程的总CPU时间的两个值,并将delta-cpu-time与delta-total-time分开。 这两种方法似乎一开始工作正常,但如果我把我的应用程序旁边的Windows任务pipe理器我的应用程序总是显示约两倍的任务pipe理器。 我试图用10ms到10sec的各种时间步长进行更新,并一直得到相同的结果。 嗯,当我写这个时,意识到这可能是某种双核问题。

在窗口中获取进程的峰值私有字节值

ProcessExplorer以某种方式获取此值,并显示在每个进程的性能选项卡上…如何使用Win32 API获取它? 解决scheme:在“Peak Private Bytes”字段中,Process Explorer实际显示“Process \ … \ Page File Bytes Peak”性能计数器。 使用PSAPI函数GetProcessMemoryInfo可以轻松地检索此值。

为性能计数器安装一个Total实例

VS 2005,C#2.0,.NET 2.0 / 3.0,Win2003 我正在尝试为MultiInstance安装一组性能计数器。 我注意到,即使没有其他实例,一些系统性能计数器类别也能保持“ 总计 ”状态。 ASP.NET应用程序2.0.50727是一个例子。 所以我一直在试图复制这个。 我在Installer类中创build了以下例程,然后将其添加到安装项目中的自定义操作中。 public override void Install(System.Collections.IDictionary stateSaver) { //Debugger.Break(); CounterCreationData data = new CounterCreationData("ZCounter", "ZCtrHelp", PerformanceCounterType.NumberOfItems32); PerformanceCounterCategory.Create("ZCategory", "ZCatHelp", PerformanceCounterCategoryType.MultiInstance, new CounterCreationDataCollection(new CounterCreationData[] { data })); PerformanceCounter counter = new PerformanceCounter(); counter.CategoryName = "ZCategory"; counter.CounterName = "ZCounter"; counter.InstanceName = "ZTotal"; counter.InstanceLifetime = PerformanceCounterInstanceLifetime.Global; counter.ReadOnly = false; […]