Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypePerf issues #24

Open
herve-r opened this issue Oct 27, 2017 · 0 comments
Open

TypePerf issues #24

herve-r opened this issue Oct 27, 2017 · 0 comments

Comments

@herve-r
Copy link

herve-r commented Oct 27, 2017

Hello,

I am currently using collectm in a project for my company, and I had some issues when using performance counters to gather data. If you put 2 or more counters that does not exist, collectm will scramble data, and some counters that does not exist will be monitored while some that exist and should be monitored have no data or get wrong data. After reading the code of the TypePerf module, I found two causes for this issue:

  • The first one is the behaviour of the TypePerf command you're using to gather data from performance counters: if you put multi-instance counters that exist but for an instance that does not exist, TypePerf will not tell you that it is sending data for this counter. Here is an example:

typeperfexample

  • The second is the fact that the TypePerf module is using indexes to remove counters when they are not available. When removing the counters, it is not taking into account the fact that it is removing counters, and thus changing the indexes of the counters after the one that has been removed. Here is a schema to illustrate that:

typeperforiginalversion

In step 1: get the indexes of the elements to remove (elements in red) step 2 to 4: remove the elements one by one form left to right

I already found how to fix those issues, and if you are ok with that, I can try to push my fix into your repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant