mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-176429 added sent.logs.files.calculated event to recorderId.event.log group
GitOrigin-RevId: 6e1836bb5c1473827e346e37a43bd5179509a65c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d56f69c6eb
commit
a7ef1ea569
+34
@@ -0,0 +1,34 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.internal.statistic.eventLog
|
||||
|
||||
import java.io.File
|
||||
|
||||
internal class DefaultFilesToSendProvider(
|
||||
recorderId: String,
|
||||
private val maxFilesToSend: Int,
|
||||
private val filterActiveFile: Boolean,
|
||||
) : FilesToSendProvider {
|
||||
private val eventLoggerProvider = StatisticsEventLogProviderUtil.getEventLogProvider(recorderId)
|
||||
|
||||
override fun getFilesToSend(): List<EventLogFile> {
|
||||
val logFilesProvider: EventLogFilesProvider = eventLoggerProvider.getLogFilesProvider()
|
||||
val files = if (filterActiveFile) {
|
||||
logFilesProvider.getLogFilesExceptActive()
|
||||
}
|
||||
else {
|
||||
logFilesProvider.getLogFiles()
|
||||
}
|
||||
return getFilesToSend(files, maxFilesToSend).map { EventLogFile(it) }
|
||||
}
|
||||
|
||||
private fun getFilesToSend(files: List<File>, maxFilesToSend: Int): List<File> {
|
||||
val filteredFiles = if (maxFilesToSend == -1) {
|
||||
files.toList()
|
||||
}
|
||||
else {
|
||||
files.take(maxFilesToSend)
|
||||
}
|
||||
eventLoggerProvider.eventLogSystemLogger.logFileToSendCalculated(files.size, maxFilesToSend, filteredFiles.size)
|
||||
return filteredFiles
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -62,7 +62,6 @@ public class EventLogInternalSendConfig implements EventLogSendConfig {
|
||||
@Override
|
||||
public @NotNull FilesToSendProvider getFilesToSendProvider() {
|
||||
int maxFilesToSend = EventLogConfiguration.getInstance().getOrCreate(myRecorderId).getMaxFilesToSend();
|
||||
EventLogFilesProvider logFilesProvider = StatisticsEventLogProviderUtil.getEventLogProvider(myRecorderId).getLogFilesProvider();
|
||||
return new DefaultFilesToSendProvider(logFilesProvider, maxFilesToSend, myFilterActiveFile);
|
||||
return new DefaultFilesToSendProvider(myRecorderId, maxFilesToSend, myFilterActiveFile);
|
||||
}
|
||||
}
|
||||
|
||||
+21
-1
@@ -8,6 +8,7 @@ import com.intellij.internal.statistic.eventLog.connection.metadata.EventLogMeta
|
||||
import com.intellij.internal.statistic.eventLog.connection.metadata.EventLogMetadataUpdateError
|
||||
import com.intellij.internal.statistic.eventLog.connection.metadata.EventLogMetadataUpdateStage
|
||||
import com.intellij.internal.statistic.eventLog.events.EventFields
|
||||
import com.intellij.internal.statistic.eventLog.events.EventId3
|
||||
import com.intellij.internal.statistic.eventLog.events.EventPair
|
||||
import com.intellij.internal.statistic.eventLog.uploader.EventLogUploadException.EventLogUploadErrorType
|
||||
import com.intellij.internal.statistic.service.fus.collectors.CounterUsagesCollector
|
||||
@@ -29,7 +30,12 @@ import java.util.*
|
||||
@ApiStatus.Internal
|
||||
internal class EventLogSystemCollector(eventLoggerProvider: StatisticsEventLoggerProvider) : CounterUsagesCollector() {
|
||||
private val id = "${eventLoggerProvider.recorderId.lowercase(Locale.ENGLISH)}.event.log"
|
||||
private val GROUP = EventLogGroup(id, eventLoggerProvider.version, eventLoggerProvider.recorderId)
|
||||
private val GROUP = EventLogGroup(id,
|
||||
// Increase the group's versions locally
|
||||
// and not increase the versions in all StatisticsEventLoggerProvider
|
||||
// in case of any changes in the groups
|
||||
eventLoggerProvider.version + 1,
|
||||
eventLoggerProvider.recorderId)
|
||||
override fun getGroup(): EventLogGroup = GROUP
|
||||
|
||||
private val metadataLoadedEvent = GROUP.registerEvent("metadata.loaded", EventFields.Version, METADATA_LOADED_DESCRIPTION)
|
||||
@@ -72,6 +78,13 @@ internal class EventLogSystemCollector(eventLoggerProvider: StatisticsEventLogge
|
||||
errorLoadingConfigFailedField,
|
||||
errorTSLoadingConfigFailedField)
|
||||
|
||||
private val sentFilesCountCalculated: EventId3<Int, Int, Int> = GROUP.registerEvent("sent.logs.files.calculated",
|
||||
totalFilesCount,
|
||||
maxSentFilesCount,
|
||||
sentFilesCount,
|
||||
"Calculate the count of logs files to send"
|
||||
)
|
||||
|
||||
fun logMetadataLoaded(version: String?) = metadataLoadedEvent.log(version)
|
||||
fun logMetadataUpdated(version: String?) = metadataUpdatedEvent.log(version)
|
||||
fun logMetadataLoadFailed(error: EventLogMetadataUpdateError) {
|
||||
@@ -127,6 +140,10 @@ internal class EventLogSystemCollector(eventLoggerProvider: StatisticsEventLogge
|
||||
loadingConfigFailedEvent.log(eventPairs)
|
||||
}
|
||||
|
||||
fun logFileToSendCalculated(totalFilesCount: Int, maxSentFilesCount: Int, sentFilesCount: Int) {
|
||||
sentFilesCountCalculated.log(totalFilesCount, maxSentFilesCount,sentFilesCount)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val METADATA_LOADED_DESCRIPTION = "The metric is recorded in case the metadata was loaded"
|
||||
private const val METADATA_UPDATED_DESCRIPTION = "The metric is recorded in case the metadata was updated"
|
||||
@@ -205,5 +222,8 @@ internal class EventLogSystemCollector(eventLoggerProvider: StatisticsEventLogge
|
||||
ERROR_EXTERNAL_SEND_COMMAND_CREATION_FINISHED_DESCRIPTION)
|
||||
private val errorLoadingConfigFailedField = EventFields.StringValidatedByCustomRule("error", ClassNameRuleValidator::class.java)
|
||||
private val errorTSLoadingConfigFailedField = EventFields.Long("error_ts", ERROR_TS_LOADING_CONFIG_FAILED_DESCRIPTION)
|
||||
private val totalFilesCount = EventFields.Int("total_files_count", "The total logs files count")
|
||||
private val maxSentFilesCount = EventFields.Int("max_sent_files_count", "The max sent logs files count")
|
||||
private val sentFilesCount = EventFields.Int("sent_files_count", "The sent logs files count")
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -12,8 +12,8 @@ import org.jetbrains.annotations.ApiStatus
|
||||
*/
|
||||
@ApiStatus.Internal
|
||||
object LogSystemCollector : CounterUsagesCollector() {
|
||||
private const val id = "system.log"
|
||||
private val GROUP = EventLogGroup(id, 1, "FUS")
|
||||
private const val ID = "system.log"
|
||||
private val GROUP = EventLogGroup(ID, 1, "FUS")
|
||||
override fun getGroup(): EventLogGroup = GROUP
|
||||
|
||||
val restartField: BooleanEventField = EventFields.Boolean("restart", "Don't start external uploader because there is restarted")
|
||||
@@ -33,5 +33,4 @@ object LogSystemCollector : CounterUsagesCollector() {
|
||||
updateInProgressField,
|
||||
sendingForAllRecordersDisabledField,
|
||||
failedToStartField)
|
||||
|
||||
}
|
||||
-26
@@ -42,30 +42,4 @@ class DefaultEventLogFilesProvider(
|
||||
|
||||
interface FilesToSendProvider {
|
||||
fun getFilesToSend(): List<EventLogFile>
|
||||
}
|
||||
|
||||
internal class DefaultFilesToSendProvider(
|
||||
private val logFilesProvider: EventLogFilesProvider,
|
||||
private val maxFilesToSend: Int,
|
||||
private val filterActiveFile: Boolean,
|
||||
) : FilesToSendProvider {
|
||||
override fun getFilesToSend(): List<EventLogFile> {
|
||||
val files = if (filterActiveFile) {
|
||||
logFilesProvider.getLogFilesExceptActive()
|
||||
}
|
||||
else {
|
||||
logFilesProvider.getLogFiles()
|
||||
}
|
||||
return getFilesToSend(files, maxFilesToSend).map { EventLogFile(it) }
|
||||
}
|
||||
|
||||
private fun getFilesToSend(files: List<File>, maxFilesToSend: Int): List<File> {
|
||||
val filteredFiles = if (maxFilesToSend == -1) {
|
||||
files.toList()
|
||||
}
|
||||
else {
|
||||
files.take(maxFilesToSend)
|
||||
}
|
||||
return filteredFiles
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user