JaroslavTulach: /* Instrumentation vs. Insight */ - 2020-07-11 05:27:42

Instrumentation vs. Insight

←Older revision Revision as of 05:27, 11 July 2020
Line 11: Line 11:
=== Instrumentation vs. [[Insight]] ===
=== Instrumentation vs. [[Insight]] ===
-
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic languages and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
+
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic languages and compiled on the fly into the appropriate user code. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
=== Post Mortem Debugging ===
=== Post Mortem Debugging ===

JaroslavTulach at 05:26, 11 July 2020 - 2020-07-11 05:26:19

←Older revision Revision as of 05:26, 11 July 2020
Line 3: Line 3:
=== Always Improving ===
=== Always Improving ===
-
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
+
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]] and its instrumentation capabilities. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
=== OpenTracing with Jaeger ===
=== OpenTracing with Jaeger ===

JaroslavTulach at 05:25, 11 July 2020 - 2020-07-11 05:25:32

←Older revision Revision as of 05:25, 11 July 2020
Line 1: Line 1:
[[GraalVM]] [[Insight]] has been introduced in version 19.3 of [[GraalVM]]. It is a multipurpose, flexible tool that allows to dynamically apply complex [[insight]]s gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See [https://github.com/oracle/graal/blob/master/tools/docs/Insight.md Insight.md].
[[GraalVM]] [[Insight]] has been introduced in version 19.3 of [[GraalVM]]. It is a multipurpose, flexible tool that allows to dynamically apply complex [[insight]]s gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See [https://github.com/oracle/graal/blob/master/tools/docs/Insight.md Insight.md].
 +
 +
=== Always Improving ===
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
 +
 +
=== OpenTracing with Jaeger ===
[[Insight]] is obviously great fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
[[Insight]] is obviously great fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
 +
 +
=== Instrumentation vs. [[Insight]] ===
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic languages and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic languages and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
 +
 +
=== Post Mortem Debugging ===
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].

JaroslavTulach at 05:23, 11 July 2020 - 2020-07-11 05:23:41

←Older revision Revision as of 05:23, 11 July 2020
Line 5: Line 5:
[[Insight]] is obviously great fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
[[Insight]] is obviously great fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
-
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic language and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
+
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic languages and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].

JaroslavTulach at 05:22, 11 July 2020 - 2020-07-11 05:22:35

←Older revision Revision as of 05:22, 11 July 2020
Line 3: Line 3:
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
-
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
+
[[Insight]] is obviously great fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic language and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic language and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.

JaroslavTulach at 05:22, 11 July 2020 - 2020-07-11 05:22:23

←Older revision Revision as of 05:22, 11 July 2020
Line 1: Line 1:
[[GraalVM]] [[Insight]] has been introduced in version 19.3 of [[GraalVM]]. It is a multipurpose, flexible tool that allows to dynamically apply complex [[insight]]s gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See [https://github.com/oracle/graal/blob/master/tools/docs/Insight.md Insight.md].
[[GraalVM]] [[Insight]] has been introduced in version 19.3 of [[GraalVM]]. It is a multipurpose, flexible tool that allows to dynamically apply complex [[insight]]s gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See [https://github.com/oracle/graal/blob/master/tools/docs/Insight.md Insight.md].
-
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc.
+
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc. The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
-
 
+
-
The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
+
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].

JaroslavTulach at 05:21, 11 July 2020 - 2020-07-11 05:21:49

←Older revision Revision as of 05:21, 11 July 2020
Line 1: Line 1:
-
[[GraalVM]] [[Insight]] has been introduced in version 19.3 of [[GraalVM]]. It is a multipurpose, flexible tool that allows to dynamically apply complex insights gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See [https://github.com/oracle/graal/blob/master/tools/docs/Insight.md Insight.md].
+
[[GraalVM]] [[Insight]] has been introduced in version 19.3 of [[GraalVM]]. It is a multipurpose, flexible tool that allows to dynamically apply complex [[insight]]s gathering hooks on already deployed applications running at full speed. Insight further blurs the difference between various DevOps tasks - code once, apply your insights anytime, anywhere! See [https://github.com/oracle/graal/blob/master/tools/docs/Insight.md Insight.md].
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc.
[[Insight]] builds on the [[polyglot]] nature of [[GraalVM]]. One can write [[Insight]]s in any language - e.g. [[JavaScript]], [[Ruby]], etc. and apply them to any other language including also [[C]], [[C++]], [[Fortran]], etc.

JaroslavTulach at 05:21, 11 July 2020 - 2020-07-11 05:21:30

←Older revision Revision as of 05:21, 11 July 2020
Line 6: Line 6:
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
 +
 +
Instrumentation has always been part of [[Truffle]] system. However, prior to invention of [[Insight]] it was necessary to write your instruments in [[Java]]. Generating a [[Truffle]]-based language implementation compiled by [[native image]] may take a while. Recompiling everytime you want to change your instrument, slows you down significantly. That's not a problem for [[GraalVM]] [[Insight]] - all the hooks are written in dynamic language and compiled on the fly into the appropriate user code locations. There is no limit on what these hooks can do - [[Insight]] are fully [[Turing complete]] code snippets capable to do everything the surrounding programming language can.
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].

JaroslavTulach at 05:15, 11 July 2020 - 2020-07-11 05:15:13

←Older revision Revision as of 05:15, 11 July 2020
Line 6: Line 6:
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
 +
 +
A promising direction of research is usage of [[Insight]] as a harness for post-mortem debugging. Apply watchpoints dynamically, capture the state of execution whenever a program goes though them and replay the recorded stream in advanced tools like [[Chrome]] dev tools or [[NetBeans]].
 +
 +
{{#ev:youtube|SGgDJkcEuaY}}
 +
 +
 +
[[Category:Video]]

JaroslavTulach at 05:08, 11 July 2020 - 2020-07-11 05:08:34

←Older revision Revision as of 05:08, 11 July 2020
Line 5: Line 5:
The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
The capabilities of [[Insight]] are improved with every [[GraalVM]] release. Version 20.0 for example improved embedding of [[Insight]] into custom applications. Version 20.1 added access to local variables of [[C]] and other [[Sulong]] based programs. Version 20.2 allows to modify local variables and write [[insight]] scripts in [[Python]]<!-- and also Java -->.
-
[[Insight]] is obviously good fit for tracing. The close co-operation with Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].
+
[[Insight]] is obviously good fit for tracing. The close co-operation with Pavol Loffay from Jaeger - the industry leading implementation of OpenTelemetry solution - has resulted in a medium post about [https://medium.com/jaegertracing/t-trace-agent-like-instrumentation-for-graalvm-d8b79b755e71 agent-like instrumentation for GraalVM].