diag framework