Package alt.jiapi

Examples of alt.jiapi.InstrumentationContext


        new Sample1();
    }
   
    public Sample1() throws Exception {
        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("samples.*");
        ctx.addInstrumentationDescriptor(id);
       
        // Use event API:
        MethodEventProducer eventProducer = new MethodEventProducer(id);
        eventProducer.addMethodListener(this);
       
View Full Code Here


        new Example1();
    }
   
    public Example1() throws Exception {
        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("test.*");
        ctx.addInstrumentationDescriptor(id);
       
        // Use event API:
        MethodEventProducer eventProducer = new MethodEventProducer(id);
        eventProducer.addMethodListener(this);
       
View Full Code Here

        }
        catch (Exception e) {
        }

        log.debug("creating the InstrumentationDescriptor");
        InstrumentationContext ctx = new InstrumentationContext();
       
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("test.callgraph");
        MethodEventProducer eventProducer = new MethodEventProducer(id);
        eventProducer.addMethodListener(monitor);
        ctx.addInstrumentationDescriptor(id);

        log.debug("creating a class loader");
        ClassLoader cl = InstrumentingClassLoader.createClassLoader(ctx);
       
        log.debug("loading classes");
View Full Code Here

        new Sample2();
    }
   
    public Sample2() throws Exception {
        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("samples.*");
        ctx.addInstrumentationDescriptor(id);
       
        // Use event API:
        // Events for field access
        FieldEventProducer fieldEventProducer = new FieldEventProducer(id);
        fieldEventProducer.addFieldListener(this);
View Full Code Here

      try {
    Class c = Class.forName(aName);
    Object o = c.newInstance();
    HotSpotAdvice hsa = (HotSpotAdvice)o;

    InstrumentationContext ctx = new InstrumentationContext();
    InstrumentationDescriptor id = new InstrumentationDescriptor();
    id.addInclusionRule(iRule);
    if (eRule != null) {
        id.addExclusionRule(eRule);
    }

    ctx.addInstrumentationDescriptor(id);
     
    HotSpotAdvisor hsi =
        new HotSpotAdvisor(id, hsa, HotSpotAdvisor.INVOCATIONS,
               resolution);
View Full Code Here

        this(inclusionRules, null, "*", mi);
    }

    public Initializer(String[] inclusionRules, String[] exclusionRules,
                       String resolution, MethodInterceptor mi) throws JiapiException {
        this.ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        ctx.addInstrumentationDescriptor(id);

        if (inclusionRules != null) {
            for (int i = 0; i < inclusionRules.length; i++) {
View Full Code Here

        new Sample3();
    }
   
    public Sample3() throws Exception {
        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("samples.event.*");
        ctx.addInstrumentationDescriptor(id);
       
        // Use event API:
        // Events for field access
        FieldEventProducer fieldEventProducer = new FieldEventProducer(id);
        fieldEventProducer.addFieldListener(this);
View Full Code Here

        new Sample1(className);
    }
   
    public Sample1(String className) throws Exception {
        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("samples.*");
        ctx.addInstrumentationDescriptor(id);
       
        // Associate interceptor with descriptor
        // Set resolution to 'foo*', which means that interceptor applies
        // its work only on invocations to methods which start with 'foo'
        InvocationInterceptor ii = new InvocationInterceptor(id, "samples*",this);
 
View Full Code Here

        new Sample2();
    }
   
    public Sample2() throws Exception {
        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor id = new InstrumentationDescriptor();
        id.addInclusionRule("samples.*");
        ctx.addInstrumentationDescriptor(id);
       
        // Associate interceptor with descriptor
        // Set resolution to 'samples*', which means that interceptor applies
        // its work only on fields which start with 'samples'

View Full Code Here

        String meInclude = System.getProperty("method:include");
        String meExclude = System.getProperty("method:exclude");

        // Configure:
        InstrumentationContext ctx = new InstrumentationContext();
        InstrumentationDescriptor fid = new InstrumentationDescriptor();
        InstrumentationDescriptor mid = new InstrumentationDescriptor();
       
        // Add global inclusion and exclusion rules for both
        // field and method descriptors
        if (globalInclude != null) {
            StringTokenizer st = new StringTokenizer(globalInclude, ",");
            while(st.hasMoreTokens()) {
                String rule = st.nextToken();
                fid.addInclusionRule(rule);
                mid.addInclusionRule(rule);
            }
        }
        if (globalExclude != null) {
            StringTokenizer st = new StringTokenizer(globalExclude, ",");
            while(st.hasMoreTokens()) {
                String rule = st.nextToken();
                fid.addExclusionRule(rule);
                mid.addExclusionRule(rule);
            }
        }

        // Add event producer specific inclusion and exclusion rules
        if (feInclude != null) {
            StringTokenizer st = new StringTokenizer(feInclude, ",");
            while(st.hasMoreTokens()) {
                String rule = st.nextToken();
                fid.addInclusionRule(rule);
            }
        }
        if (feExclude != null) {
            StringTokenizer st = new StringTokenizer(feExclude, ",");
            while(st.hasMoreTokens()) {
                String rule = st.nextToken();
                fid.addExclusionRule(rule);
            }
        }

        if (meInclude != null) {
            StringTokenizer st = new StringTokenizer(meInclude, ",");
            while(st.hasMoreTokens()) {
                String rule = st.nextToken();
                mid.addInclusionRule(rule);
            }
        }
        if (meExclude != null) {
            StringTokenizer st = new StringTokenizer(meExclude, ",");
            while(st.hasMoreTokens()) {
                String rule = st.nextToken();
                mid.addExclusionRule(rule);
            }
        }

       
        // Use event API:
        // Events for field access
        FieldEventProducer fieldEventProducer = new FieldEventProducer(fid);
        fieldEventProducer.addFieldListener(this);

        // Events for method access
        MethodEventProducer methodEventProducer = new MethodEventProducer(mid);
        methodEventProducer.addMethodListener(this);

        // Add field and method descriptors to context
        ctx.addInstrumentationDescriptor(fid);
        ctx.addInstrumentationDescriptor(mid);


        Class c = InstrumentingClassLoader.createClassLoader(ctx).loadClass(args[0]);
        Method method = c.getMethod("main", new Class[] {String[].class});
       
View Full Code Here

TOP

Related Classes of alt.jiapi.InstrumentationContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.