@NotNull
  @Override
  public Set<MetricEvent> getMetrics(@NotNull final Project project) {
    final Set<MetricEvent> result = new HashSet<>();

    final var profileManager = InspectionProjectProfileManager.getInstance(project);
    result.add(PROFILES.metric(profileManager.getProfiles().size()));
    final var profile = profileManager.getCurrentProfile();
    result.add(create(profile));

    final List<ScopeToolState> tools = profile.getAllTools();
    for (ScopeToolState state : tools) {
      InspectionToolWrapper<?, ?> tool = state.getTool();
      PluginInfo pluginInfo = getInfo(tool);

      // not.default.state
      if (ENABLED.test(state)) {
        result.add(create(tool, pluginInfo, true));
      }
      else if (DISABLED.test(state)) {
        result.add(create(tool, pluginInfo, false));
      }

      // setting.non.default.state
      result.addAll(getChangedSettingsEvents(tool, pluginInfo, state.isEnabled()));

      // not.default.scope.and.severity
      final MetricEvent scopeAndSeverityEvent = getChangedScopeAndSeverityEvent(state, pluginInfo);
      if (scopeAndSeverityEvent != null) result.add(scopeAndSeverityEvent);
    }

    result.add(getInspectionsReportingProblemsEvent(project));

    return result;
  }
@NotNull
  @Override
  public Set<MetricEvent> getMetrics(@NotNull final Project project)