Timeline is not working: issue solution for different Windows versions

If timeline is not working even for standalone processes, please follow this guide.

 

 

____________________________________________________________________________________

Possible cause:

The user who runs dotMemory isn't a member of the "Performance Monitor Users" group therefore he hasn't permissions to access performance counters.

 

To verify this:

1) Run dotMemory via "Run as administrator" mode.

2) Start profiling session. If the timeline appears in this case the reason why you can't see timeline without "Run as administrator" mode is an access permissions.

 

To resolve the issue:

1) Go to

'Start | Control Panel |Administrative tools | Computer Management'

Select 'Local Users and Groups | Groups'

2) Open "Performance Monitor Users" group properties.

3) Add the user to "Performance Monitor Users" group.
Members of this group can access performance counter data locally and remotely.

4) Sign out from user account and sign in to Windows again.

 

 

____________________________________________________________________________________

Possible cause:

Performance counters are disabled in Windows registry.

 

To verify this:

1) Run regedit.exe

2) Check key:

'HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Services | PerfProc | Performance | Disable Perfomance Counters'

If key value is 1, performance counters are disabled.

 

To resolve the issue:

Change key value to 0.

 

 

____________________________________________________________________________________

Possible cause:

Performance counter symbols may not be installed properly.

 

To verify this:

You can check performance counters state via this simple application:

https://github.com/Ed-Pavlov/PerformanceCountersTest.git

Build it, run and check console output. If any error exists in output, some performance counters are not installed properly or missing at all.

If you are not able to run third-party application:

1) Go to

Windows XP/Windows Server 2003:

'Start | Control Panel |Administrative tools | Performance'

Select 'System Monitor'

Windows 7/Vista/Windows Server 2008/Windows 8/Windows Server 2012:

'Start | Control Panel |Administrative tools | Performance Monitor'

Select 'Monitoring Tools | Perfomance Monitor' 

2) Right click on plot and select 'Add Counters'

3) Select

Windows XP/Windows Server 2003:

Performance object: '.NET CLR Memory'

Windows 7/Vista/Windows Server 2008/Windows 8/Windows Server 2012:

'.NET CLR Memory' and expand it.

4) Verify that there is no 'Process ID' counter listed. If it's so, the next steps could help you to resolve your timeline issue.

But if you have 'Process ID' counter in the list, the problem occurs for another reason and you should contact our support.

5) Close 'Perfomance' ('Perfomance Monitor') window.

 

To resolve the issue:

1) Run Command Line.

If you use OS version higher than Windows XP you should run Command Line in "Run as administrator" mode.

Windows XP/Windows Server 2003:

Win+R, type 'cmd', press Enter.

Windows 7/Vista/Windows Server 2008/Windows 8/Windows Server 2012:

'Start | ', type 'cmd', right click on 'cmd.exe', select 'Run as administrator'

2) At the command line, type "unlodctr .NetFramework", and press Enter.

3) Find 'corperfmonsymbols.ini' file in your 'C:\Windows\...' folders. You could use windows search for it.

For example, file path could be:

Windows XP/Windows Server 2003: 'C:\Windows\Microsoft.Net\Framework\v2.0.50727'

Windows 7/Vista/Windows Server 2008: 'C:\Windows\Microsoft.NET\Framework\v4.0.30319'

Windows 8/Windows Server 2012: 'C:\Windows\Inf\.NETFramework'

This file could be located at 'C:\Windows\Microsoft.Net\Framework64\...' folder if you have x64 OS version.

Also the path depends on the .NET Framework version installed on your computer.

After you had find 'corperfmonsymbols.ini' path, use the 'cd' command in Command Line to change to this folder, for example:

cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319", and press Enter.

4) At the command line, type 'lodctr corperfmonsymbols.ini', and press Enter.

All needed counters should be loaded now.

5) At the command line, type 'lodctr /E:.NETFramework', and press Enter (to enable counters status).

Check the counter status 'lodctr /Q:.NETFramework',  it should return the following:

Performance Counter ID Queries [PERFLIB]:
    Base Index: 0x00000737 (1847)
    Last Counter Text ID: 0x0000271A (10010)
    Last Help Text ID: 0x0000271B (10011)

[.NETFramework] Performance Counters (Enabled)
    DLL Name: %systemroot%\system32\mscoree.dll
    Open Procedure: OpenCtrs
    Collect Procedure: CollectCtrs
    Close Procedure: CloseCtrs
    First Counter ID: 0x0000266C (9836)
    Last Counter ID: 0x0000271A (10010)
    First Help ID: 0x0000266D (9837)
    Last Help ID: 0x0000271B (10011)

 

Please restart your computer after these steps.

3 out of 9 found this helpful
2 comments

I tried all these commands, but for me the following worked well:

  • lodctr /r

This will rebuild the performance counters.

Congrats for dotMemory, great product!

Andre.

0
Avatar
Lissandro Bassani

HI. I am currently on a trial period and faced the missing counters issue.

The counters were not even appearing at the performance tool (Windows10 for my case).
What helped me was found at https://stackoverflow.com/questions/29074047/net-clr-performance-counters-missing

After running the 

C:\Windows\INF\.NETFramework>lodctr corperfmonsymbols.ini

comand.

Best regards

Lissandro

Edited by Lissandro Bassani
0

Please sign in to leave a comment.

Have more questions?

Submit a request