gather more statistics (EDU-1033)

This commit is contained in:
Liana.Bakradze
2017-09-08 13:33:27 +03:00
parent 4fc1151e3d
commit 395b9129a0
7 changed files with 36 additions and 0 deletions
@@ -14,6 +14,7 @@ import com.jetbrains.edu.learning.courseFormat.AnswerPlaceholder;
import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.TaskFile;
import com.jetbrains.edu.learning.editor.StudyEditor;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
public class StudyFillPlaceholdersAction extends AnAction {
@Override
@@ -34,6 +35,7 @@ public class StudyFillPlaceholdersAction extends AnAction {
}
EduUtils.replaceAnswerPlaceholder(document, placeholder, placeholder.getRealLength(), answer);
}
EduUsagesCollector.placeholdersFilled();
}
}
@@ -31,6 +31,7 @@ import com.jetbrains.edu.learning.courseFormat.tasks.*;
import com.jetbrains.edu.learning.editor.StudyChoiceVariantsPanel;
import com.jetbrains.edu.learning.editor.StudyEditor;
import com.jetbrains.edu.learning.navigation.StudyNavigator;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
import com.jetbrains.edu.learning.ui.StudyToolWindow;
import icons.EducationalCoreIcons;
import org.jetbrains.annotations.NotNull;
@@ -58,6 +59,7 @@ public class StudyRefreshTaskFileAction extends StudyActionWithShortcut {
return;
}
refreshFile(studyState, project);
EduUsagesCollector.fileRefreshed();
}));
}
@@ -33,6 +33,7 @@ import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.RemoteCourse;
import com.jetbrains.edu.learning.courseGeneration.StudyProjectGenerator;
import com.jetbrains.edu.learning.newproject.EduCourseProjectGenerator;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
import com.jetbrains.edu.learning.stepic.EduStepicConnector;
import com.jetbrains.edu.learning.stepic.StepicUser;
import org.jetbrains.annotations.NotNull;
@@ -158,6 +159,7 @@ public class EduCoursesPanel extends JPanel {
if (course != null) {
myCourses.add(course);
updateModel(myCourses, course.getName());
EduUsagesCollector.localCourseAdded();
} else {
Messages.showErrorDialog("Selected archive doesn't contain a valid course", "Failed to Add Local Course");
}
@@ -28,6 +28,30 @@ import java.util.Set;
public class EduUsagesCollector extends UsagesCollector {
private static final String GROUP_ID = "educational";
public static void coursePreviewed() {
advanceKey("coursePreview");
}
public static void stepikAuthorization() {
advanceKey("stepikAuthorization");
}
public static void localCourseAdded() {
advanceKey("localCourseAdded");
}
public static void fileRefreshed() {
advanceKey("refreshFile");
}
public static void placeholdersFilled() {
advanceKey("fillPlaceholders");
}
public static void stepThroughInvoked() {
advanceKey("stepThroughCode");
}
public static void projectTypeCreated(@NotNull String projectTypeId) {
advanceKey("project.created." + projectTypeId);
}
@@ -19,6 +19,7 @@ import com.jetbrains.edu.learning.courseFormat.*;
import com.jetbrains.edu.learning.courseFormat.tasks.PyCharmTask;
import com.jetbrains.edu.learning.courseFormat.tasks.Task;
import com.jetbrains.edu.learning.courseFormat.tasks.TaskWithSubtasks;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
@@ -468,6 +469,7 @@ public class EduStepicConnector {
}
public static void doAuthorize(@NotNull Runnable externalRedirectUrlHandler) {
EduUsagesCollector.stepikAuthorization();
String redirectUrl = getOAuthRedirectUrl();
String link = createOAuthLink(redirectUrl);
BrowserUtil.browse(link);
@@ -5,6 +5,7 @@ import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
public class PyCCCreateProjectFromArchive extends DumbAwareAction {
public PyCCCreateProjectFromArchive() {
@@ -19,6 +20,7 @@ public class PyCCCreateProjectFromArchive extends DumbAwareAction {
return;
}
EduUsagesCollector.coursePreviewed();
AbstractNewProjectDialog dialog = new AbstractNewProjectDialog() {
@Override
protected DefaultActionGroup createRootStep() {
@@ -26,6 +26,7 @@ import com.intellij.xdebugger.XDebuggerBundle;
import com.intellij.xdebugger.impl.XDebugSessionImpl;
import com.intellij.xdebugger.impl.actions.XDebuggerActions;
import com.intellij.xdebugger.impl.ui.XDebugSessionTab;
import com.jetbrains.edu.learning.statistics.EduUsagesCollector;
import com.jetbrains.python.console.PythonDebugLanguageConsoleView;
import com.jetbrains.python.debugger.PyDebugProcess;
import com.jetbrains.python.debugger.PyDebugRunner;
@@ -62,6 +63,7 @@ public class PyEduDebugRunner extends PyDebugRunner {
if (file != null) {
int line = getBreakpointLineNumber(file, session.getProject());
if (line != NO_LINE) {
EduUsagesCollector.stepThroughInvoked();
return new PyEduDebugProcess(session, serverSocket,
executionConsole, processHandler,
isMultiProcess, scriptName, line + 1);