• JMC 7 Iter 15

      To support Jafar, we need to design a BCI library for dynamically instrumenting code with JFR probes. Here are some input to what the library must be capable of:

      1. Must work with (at least) JDK 8
      2. Must be able to redefine classes
      3. Must be declarative (i.e. not require coding classes for new probes)
      4. Must use as little resources as possible
      5. Must produce predictable results (i.e. it must be easy to understand what the results of instrumenting a method will be)
      6. Must produce near optimal byte code
      7. Must be usable both as a library (included in another agent) as well as a stand alone agent

      There are jafar specific requirements on the agent:

      • Must be able to capture thread locals
      • Jafar probably also wants to be able to specify ways to subsample and aggregate values declaratively. We could add a pluggable mechanism for adding these aggregation/subsampling mechanisms, but for the first version we should ask what the MVP (Minimal Viable Product) would be.

      I think we could add aggregation/subsampling at a later stage and let them deal with aggregation/subsampling in the agent for the first version.

            hirt Marcus Hirt
            hirt Marcus Hirt
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: