# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IMasterOptimizerInstrumenter
- Type Parameter: T extends `com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizerTarget`


Instrumentation engine for [IMasterOptimizer](com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IMasterOptimizer.md), providing callbacks to be executed  before/after optimizations.

## Abstract Method: postAllOptimizationsCallback
- parameter: `target`, type: `T`

Description: Executed once after all optimizations
parameter: target: optimization target

## Abstract Method: postOptimizationCallback
- parameter: `target`, type: `T`
- parameter: `e`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.OptimizerEntry<T>`
- parameter: `cnt`, type: `int`
- parameter: `executionTimeMs`, type: `long`

Description: Executed after each optimization
parameter: target: optimization target
parameter: e: optimizer entry that ran
parameter: cnt: number of optimizations done
parameter: executionTimeMs: execution time, in milliseconds

## Abstract Method: preAllOptimizationsCallback
- parameter: `target`, type: `T`

Description: Executed once before all optimizations
parameter: target: optimization target

## Abstract Method: preOptimizationCallback
- parameter: `target`, type: `T`
- parameter: `e`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.OptimizerEntry<T>`

Description: Executed before each optimization
parameter: target: optimization target
parameter: e: optimizer entry about to run

