public static void logOpened(@NotNull Project project,
                                @NotNull VirtualFile file,
                                @Nullable FileEditor fileEditor,
                                long timeToShow,
                                long durationMs,
                                @NotNull FileEditorComposite composite) {
    List<EventPair<?>> readActionPairs = computeDataInReadAction(project);

    OPEN.log(project, pairs -> {
      pairs.addAll(buildCommonEventPairs(project, file, true));
      if (fileEditor != null) {
        pairs.add(FILE_EDITOR.with(fileEditor.getClass()));
        pairs.add(IS_PREVIEW_TAB.with(composite.isPreview()));
      }
      pairs.add(EventFields.TimeToShowMs.with(timeToShow));
      if (durationMs != -1) {
        pairs.add(EventFields.DurationMs.with(durationMs));
      }
      addFileNamePattern(pairs, file);
      pairs.addAll(readActionPairs);
    });
  }
public static void logOpened(@NotNull Project project,
                                @NotNull VirtualFile file,
                                @Nullable FileEditor fileEditor,
                                long timeToShow,
                                long durationMs,
                                @NotNull FileEditorComposite composite)