Skip to first unread message

Mark E. Dawson, Jr.

unread,
Aug 27, 2018, 3:49:15 PM8/27/18
to mechanical-sympathy
Does there exist a port for, or a similar tool to, jHiccup for .NET?

Gil Tene

unread,
Aug 27, 2018, 6:28:00 PM8/27/18
to mechanical-sympathy
There is a great implementation of HdrHistogram for .NET, which makes the rest of what jHiccup does nearly-trivial to do. I think the main thing keeping from porting jHiccup itself to .NET is that it's most common use mode is as a java agent (adding hiccup recording to a java program without modifying it in any way), and AFAIK .NET does not have a similar agent mechanism.

jHiccup itself is fairly simple and should be easy to port into a library you can invoke from within your application, and into a standalone program (for measuring control hiccups on an otherwise idle process). It's main class is only ~800 lines of code, over half of it in comments and parameter parsing logic. People have replicated some of it's logic in their C# stuff before (e.g. Matt Warren used it here). 

-- Gil.

Mark E. Dawson, Jr.

unread,
Aug 28, 2018, 4:35:44 PM8/28/18
to mechanical-sympathy
Gil,

Thanks for the prompt and helpful response!

Remi Forax

unread,
Aug 29, 2018, 8:07:55 AM8/29/18
to mechanical-sympathy
De: "Gil Tene" <g...@azul.com>
À: "mechanical-sympathy" <mechanica...@googlegroups.com>
Envoyé: Mardi 28 Août 2018 00:28:00
Objet: Re: jHiccup for .NET?
There is a great implementation of HdrHistogram for .NET, which makes the rest of what jHiccup does nearly-trivial to do. I think the main thing keeping from porting jHiccup itself to .NET is that it's most common use mode is as a java agent (adding hiccup recording to a java program without modifying it in any way), and AFAIK .NET does not have a similar agent mechanism.

I believe the .NET Profiling API provides something equivalent to the Java agent API.


jHiccup itself is fairly simple and should be easy to port into a library you can invoke from within your application, and into a standalone program (for measuring control hiccups on an otherwise idle process). It's main class is only ~800 lines of code, over half of it in comments and parameter parsing logic. People have replicated some of it's logic in their C# stuff before (e.g. Matt Warren used it here). 

-- Gil.

Rémi



On Monday, August 27, 2018 at 12:49:15 PM UTC-7, Mark E. Dawson, Jr. wrote:
Does there exist a port for, or a similar tool to, jHiccup for .NET?
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Greg Young

unread,
Aug 29, 2018, 8:48:59 AM8/29/18
to mechanica...@googlegroups.com
If someone wants to work on it I have a profiler api implementation that could be a useful starting point. It supports both mono and the CLR (two separate implementations the mono one is in C the CLR C++)
--
Studying for the Turing test

Gil Tene

unread,
Aug 29, 2018, 10:27:29 AM8/29/18
to mechanica...@googlegroups.com
If the .NET profiler api can be used to launch a managed code thread without modifying the application, then a simple port of the java agent code to C# should be possible. The hiccup observation must be done in managed code, and a separate thread, in order to observe the hiccups that an independent thread running such code would see.

Sent from my iPad
You received this message because you are subscribed to a topic in the Google Groups "mechanical-sympathy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mechanical-sympathy/aylGMNy9Z2E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mechanical-symp...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages