add properties to instrumenter
add middleware support