mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[wpilib] Add usage reporting for loggers (#7450)
This commit is contained in:
@@ -68,3 +68,10 @@ kDashboard_LabVIEW = 6
|
||||
kDashboard_AdvantageScope = 7
|
||||
kDashboard_QFRCDashboard = 8
|
||||
kDashboard_FRCWebComponents = 9
|
||||
kDataLogLocation_Onboard = 1
|
||||
kDataLogLocation_USB = 2
|
||||
kLoggingFramework_Other = 1
|
||||
kLoggingFramework_Epilogue = 2
|
||||
kLoggingFramework_Monologue = 3
|
||||
kLoggingFramework_AdvantageKit = 4
|
||||
kLoggingFramework_DogLog = 5
|
||||
|
||||
@@ -115,3 +115,5 @@ kResourceType_Redux_future5 = 113
|
||||
kResourceType_RevSparkFlexCAN = 114
|
||||
kResourceType_RevSparkFlexPWM = 115
|
||||
kResourceType_BangBangController = 116
|
||||
kResourceType_DataLogManager = 117
|
||||
kResourceType_LoggingFramework = 118
|
||||
|
||||
@@ -253,6 +253,10 @@ public final class FRCNetComm {
|
||||
public static final int kResourceType_RevSparkFlexPWM = 115;
|
||||
/** kResourceType_BangBangController = 116. */
|
||||
public static final int kResourceType_BangBangController = 116;
|
||||
/** kResourceType_DataLogManager = 117. */
|
||||
public static final int kResourceType_DataLogManager = 117;
|
||||
/** kResourceType_LoggingFramework = 118. */
|
||||
public static final int kResourceType_LoggingFramework = 118;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -403,6 +407,20 @@ public final class FRCNetComm {
|
||||
public static final int kDashboard_QFRCDashboard = 8;
|
||||
/** kDashboard_FRCWebComponents = 9. */
|
||||
public static final int kDashboard_FRCWebComponents = 9;
|
||||
/** kDataLogLocation_Onboard = 1. */
|
||||
public static final int kDataLogLocation_Onboard = 1;
|
||||
/** kDataLogLocation_USB = 2. */
|
||||
public static final int kDataLogLocation_USB = 2;
|
||||
/** kLoggingFramework_Other = 1. */
|
||||
public static final int kLoggingFramework_Other = 1;
|
||||
/** kLoggingFramework_Epilogue = 2. */
|
||||
public static final int kLoggingFramework_Epilogue = 2;
|
||||
/** kLoggingFramework_Monologue = 3. */
|
||||
public static final int kLoggingFramework_Monologue = 3;
|
||||
/** kLoggingFramework_AdvantageKit = 4. */
|
||||
public static final int kLoggingFramework_AdvantageKit = 4;
|
||||
/** kLoggingFramework_DogLog = 5. */
|
||||
public static final int kLoggingFramework_DogLog = 5;
|
||||
}
|
||||
|
||||
/** Utility class. */
|
||||
|
||||
@@ -168,6 +168,8 @@ namespace HALUsageReporting {
|
||||
kResourceType_RevSparkFlexCAN = 114,
|
||||
kResourceType_RevSparkFlexPWM = 115,
|
||||
kResourceType_BangBangController = 116,
|
||||
kResourceType_DataLogManager = 117,
|
||||
kResourceType_LoggingFramework = 118,
|
||||
};
|
||||
enum tInstances : int32_t {
|
||||
kLanguage_LabVIEW = 1,
|
||||
@@ -240,6 +242,13 @@ namespace HALUsageReporting {
|
||||
kDashboard_AdvantageScope = 7,
|
||||
kDashboard_QFRCDashboard = 8,
|
||||
kDashboard_FRCWebComponents = 9,
|
||||
kDataLogLocation_Onboard = 1,
|
||||
kDataLogLocation_USB = 2,
|
||||
kLoggingFramework_Other = 1,
|
||||
kLoggingFramework_Epilogue = 2,
|
||||
kLoggingFramework_Monologue = 3,
|
||||
kLoggingFramework_AdvantageKit = 4,
|
||||
kLoggingFramework_DogLog = 5,
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -137,6 +137,8 @@ typedef enum
|
||||
kResourceType_RevSparkFlexCAN = 114,
|
||||
kResourceType_RevSparkFlexPWM = 115,
|
||||
kResourceType_BangBangController = 116,
|
||||
kResourceType_DataLogManager = 117,
|
||||
kResourceType_LoggingFramework = 118,
|
||||
|
||||
// kResourceType_MaximumID = 255,
|
||||
} tResourceType;
|
||||
@@ -213,6 +215,13 @@ typedef enum
|
||||
kDashboard_AdvantageScope = 7,
|
||||
kDashboard_QFRCDashboard = 8,
|
||||
kDashboard_FRCWebComponents = 9,
|
||||
kDataLogLocation_Onboard = 1,
|
||||
kDataLogLocation_USB = 2,
|
||||
kLoggingFramework_Other = 1,
|
||||
kLoggingFramework_Epilogue = 2,
|
||||
kLoggingFramework_Monologue = 3,
|
||||
kLoggingFramework_AdvantageKit = 4,
|
||||
kLoggingFramework_DogLog = 5,
|
||||
} tInstances;
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include <fmt/chrono.h>
|
||||
#include <hal/FRCUsageReporting.h>
|
||||
#include <networktables/NetworkTableInstance.h>
|
||||
#include <wpi/DataLog.h>
|
||||
#include <wpi/DataLogBackgroundWriter.h>
|
||||
@@ -78,6 +79,8 @@ static std::string MakeLogDir(std::string_view dir) {
|
||||
(s.permissions() & fs::perms::others_write) != fs::perms::none) {
|
||||
fs::create_directory("/u/logs", ec);
|
||||
return "/u/logs";
|
||||
HAL_Report(HALUsageReporting::kResourceType_DataLogManager,
|
||||
HALUsageReporting::kDataLogLocation_USB);
|
||||
}
|
||||
if (RobotBase::GetRuntimeType() == kRoboRIO) {
|
||||
FRC_ReportWarning(
|
||||
@@ -85,6 +88,8 @@ static std::string MakeLogDir(std::string_view dir) {
|
||||
"not recommended! Plug in a FAT32 formatted flash drive!");
|
||||
}
|
||||
fs::create_directory("/home/lvuser/logs", ec);
|
||||
HAL_Report(HALUsageReporting::kResourceType_DataLogManager,
|
||||
HALUsageReporting::kDataLogLocation_Onboard);
|
||||
return "/home/lvuser/logs";
|
||||
#else
|
||||
std::string logDir = filesystem::GetOperatingDirectory() + "/logs";
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
|
||||
package edu.wpi.first.wpilibj;
|
||||
|
||||
import edu.wpi.first.hal.FRCNetComm.tInstances;
|
||||
import edu.wpi.first.hal.FRCNetComm.tResourceType;
|
||||
import edu.wpi.first.hal.HAL;
|
||||
import edu.wpi.first.networktables.NetworkTableInstance;
|
||||
import edu.wpi.first.util.FileLogger;
|
||||
import edu.wpi.first.util.WPIUtilJNI;
|
||||
@@ -244,6 +247,7 @@ public final class DataLogManager {
|
||||
if (!new File("/u/logs").mkdir()) {
|
||||
// ignored
|
||||
}
|
||||
HAL.report(tResourceType.kResourceType_DataLogManager, tInstances.kDataLogLocation_USB);
|
||||
return "/u/logs";
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
@@ -258,6 +262,7 @@ public final class DataLogManager {
|
||||
if (!new File("/home/lvuser/logs").mkdir()) {
|
||||
// ignored
|
||||
}
|
||||
HAL.report(tResourceType.kResourceType_DataLogManager, tInstances.kDataLogLocation_Onboard);
|
||||
return "/home/lvuser/logs";
|
||||
}
|
||||
String logDir = Filesystem.getOperatingDirectory().getAbsolutePath() + "/logs";
|
||||
|
||||
Reference in New Issue
Block a user