|
@@ -32,6 +32,7 @@ import password.pwm.config.option.DataStorageMethod;
|
|
import password.pwm.error.PwmUnrecoverableException;
|
|
import password.pwm.error.PwmUnrecoverableException;
|
|
import password.pwm.health.HealthRecord;
|
|
import password.pwm.health.HealthRecord;
|
|
import password.pwm.http.ContextManager;
|
|
import password.pwm.http.ContextManager;
|
|
|
|
+import password.pwm.http.bean.DisplayElement;
|
|
import password.pwm.i18n.Admin;
|
|
import password.pwm.i18n.Admin;
|
|
import password.pwm.i18n.Display;
|
|
import password.pwm.i18n.Display;
|
|
import password.pwm.svc.PwmService;
|
|
import password.pwm.svc.PwmService;
|
|
@@ -69,14 +70,6 @@ public class AppDashboardData implements Serializable {
|
|
|
|
|
|
private static final PwmLogger LOGGER = PwmLogger.forClass(AppDashboardData.class);
|
|
private static final PwmLogger LOGGER = PwmLogger.forClass(AppDashboardData.class);
|
|
|
|
|
|
- @Value
|
|
|
|
- public static class DataElement implements Serializable {
|
|
|
|
- private String key;
|
|
|
|
- private Type type;
|
|
|
|
- private String label;
|
|
|
|
- private String value;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Value
|
|
@Value
|
|
public static class ServiceData implements Serializable {
|
|
public static class ServiceData implements Serializable {
|
|
private String name;
|
|
private String name;
|
|
@@ -103,21 +96,15 @@ public class AppDashboardData implements Serializable {
|
|
private boolean configMatch;
|
|
private boolean configMatch;
|
|
}
|
|
}
|
|
|
|
|
|
- public enum Type {
|
|
|
|
- string,
|
|
|
|
- timestamp,
|
|
|
|
- number,
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
public enum Flag {
|
|
public enum Flag {
|
|
IncludeLocalDbTableSizes,
|
|
IncludeLocalDbTableSizes,
|
|
ShowThreadData,
|
|
ShowThreadData,
|
|
}
|
|
}
|
|
|
|
|
|
- private List<DataElement> about;
|
|
|
|
|
|
+ private List<DisplayElement> about;
|
|
private List<ServiceData> services;
|
|
private List<ServiceData> services;
|
|
- private List<DataElement> localDbInfo;
|
|
|
|
- private List<DataElement> javaAbout;
|
|
|
|
|
|
+ private List<DisplayElement> localDbInfo;
|
|
|
|
+ private List<DisplayElement> javaAbout;
|
|
private List<ThreadData> threads;
|
|
private List<ThreadData> threads;
|
|
private Map<LocalDB.DB, String> localDbSizes;
|
|
private Map<LocalDB.DB, String> localDbSizes;
|
|
private List<NodeData> nodeData;
|
|
private List<NodeData> nodeData;
|
|
@@ -169,7 +156,7 @@ public class AppDashboardData implements Serializable {
|
|
+ pwmApplication.getLdapConnectionService().connectionCount();
|
|
+ pwmApplication.getLdapConnectionService().connectionCount();
|
|
}
|
|
}
|
|
|
|
|
|
- private static List<DataElement> makeAboutData(
|
|
|
|
|
|
+ private static List<DisplayElement> makeAboutData(
|
|
final PwmApplication pwmApplication,
|
|
final PwmApplication pwmApplication,
|
|
final ContextManager contextManager,
|
|
final ContextManager contextManager,
|
|
final Locale locale
|
|
final Locale locale
|
|
@@ -178,58 +165,58 @@ public class AppDashboardData implements Serializable {
|
|
final String NA_VALUE = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, pwmApplication.getConfig());
|
|
final String NA_VALUE = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, pwmApplication.getConfig());
|
|
final PwmNumberFormat numberFormat = PwmNumberFormat.forLocale(locale);
|
|
final PwmNumberFormat numberFormat = PwmNumberFormat.forLocale(locale);
|
|
|
|
|
|
- final List<DataElement> aboutData = new ArrayList<>();
|
|
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ final List<DisplayElement> aboutData = new ArrayList<>();
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"appVersion",
|
|
"appVersion",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
l.forKey("Field_AppVersion", PwmConstants.PWM_APP_NAME),
|
|
l.forKey("Field_AppVersion", PwmConstants.PWM_APP_NAME),
|
|
PwmConstants.SERVLET_VERSION
|
|
PwmConstants.SERVLET_VERSION
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"currentTime",
|
|
"currentTime",
|
|
- Type.timestamp,
|
|
|
|
|
|
+ DisplayElement.Type.timestamp,
|
|
l.forKey("Field_CurrentTime"),
|
|
l.forKey("Field_CurrentTime"),
|
|
JavaHelper.toIsoDate(Instant.now())
|
|
JavaHelper.toIsoDate(Instant.now())
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"startupTime",
|
|
"startupTime",
|
|
- Type.timestamp,
|
|
|
|
|
|
+ DisplayElement.Type.timestamp,
|
|
l.forKey("Field_StartTime"),
|
|
l.forKey("Field_StartTime"),
|
|
JavaHelper.toIsoDate(pwmApplication.getStartupTime())
|
|
JavaHelper.toIsoDate(pwmApplication.getStartupTime())
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"runningDuration",
|
|
"runningDuration",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
l.forKey("Field_UpTime"),
|
|
l.forKey("Field_UpTime"),
|
|
TimeDuration.fromCurrent(pwmApplication.getStartupTime()).asLongString(locale)
|
|
TimeDuration.fromCurrent(pwmApplication.getStartupTime()).asLongString(locale)
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"installTime",
|
|
"installTime",
|
|
- Type.timestamp,
|
|
|
|
|
|
+ DisplayElement.Type.timestamp,
|
|
l.forKey("Field_InstallTime"),
|
|
l.forKey("Field_InstallTime"),
|
|
JavaHelper.toIsoDate(pwmApplication.getInstallTime())
|
|
JavaHelper.toIsoDate(pwmApplication.getInstallTime())
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"siteURL",
|
|
"siteURL",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
l.forKey("Field_SiteURL"),
|
|
l.forKey("Field_SiteURL"),
|
|
pwmApplication.getConfig().readSettingAsString(PwmSetting.PWM_SITE_URL)
|
|
pwmApplication.getConfig().readSettingAsString(PwmSetting.PWM_SITE_URL)
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"instanceID",
|
|
"instanceID",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
l.forKey("Field_InstanceID"),
|
|
l.forKey("Field_InstanceID"),
|
|
pwmApplication.getInstanceID()
|
|
pwmApplication.getInstanceID()
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"configRestartCounter",
|
|
"configRestartCounter",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Configuration Restart Counter",
|
|
"Configuration Restart Counter",
|
|
contextManager == null ? NA_VALUE : numberFormat.format(contextManager.getRestartCount())
|
|
contextManager == null ? NA_VALUE : numberFormat.format(contextManager.getRestartCount())
|
|
));
|
|
));
|
|
- aboutData.add(new DataElement(
|
|
|
|
|
|
+ aboutData.add(new DisplayElement(
|
|
"chaiApiVersion",
|
|
"chaiApiVersion",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
l.forKey("Field_ChaiAPIVersion"),
|
|
l.forKey("Field_ChaiAPIVersion"),
|
|
com.novell.ldapchai.ChaiConstant.CHAI_API_VERSION
|
|
com.novell.ldapchai.ChaiConstant.CHAI_API_VERSION
|
|
));
|
|
));
|
|
@@ -265,26 +252,26 @@ public class AppDashboardData implements Serializable {
|
|
return Collections.unmodifiableList(new ArrayList<>(returnData.values()));
|
|
return Collections.unmodifiableList(new ArrayList<>(returnData.values()));
|
|
}
|
|
}
|
|
|
|
|
|
- private static List<DataElement> makeLocalDbInfo(final PwmApplication pwmApplication, final Locale locale) {
|
|
|
|
- final List<DataElement> localDbInfo = new ArrayList<>();
|
|
|
|
|
|
+ private static List<DisplayElement> makeLocalDbInfo(final PwmApplication pwmApplication, final Locale locale) {
|
|
|
|
+ final List<DisplayElement> localDbInfo = new ArrayList<>();
|
|
final String NA_VALUE = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, pwmApplication.getConfig());
|
|
final String NA_VALUE = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, pwmApplication.getConfig());
|
|
final PwmNumberFormat numberFormat = PwmNumberFormat.forLocale(locale);
|
|
final PwmNumberFormat numberFormat = PwmNumberFormat.forLocale(locale);
|
|
|
|
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"worlistSize",
|
|
"worlistSize",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Word List Dictionary Size",
|
|
"Word List Dictionary Size",
|
|
numberFormat.format(pwmApplication.getWordlistManager().size())
|
|
numberFormat.format(pwmApplication.getWordlistManager().size())
|
|
));
|
|
));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"seedlistSize",
|
|
"seedlistSize",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Seed List Dictionary Size",
|
|
"Seed List Dictionary Size",
|
|
numberFormat.format(pwmApplication.getSeedlistManager().size())
|
|
numberFormat.format(pwmApplication.getSeedlistManager().size())
|
|
));
|
|
));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"sharedHistorySize",
|
|
"sharedHistorySize",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Shared Password History Size",
|
|
"Shared Password History Size",
|
|
numberFormat.format(pwmApplication.getSharedHistoryManager().size())
|
|
numberFormat.format(pwmApplication.getSharedHistoryManager().size())
|
|
));
|
|
));
|
|
@@ -293,34 +280,34 @@ public class AppDashboardData implements Serializable {
|
|
final String display = oldestEntryAge == null
|
|
final String display = oldestEntryAge == null
|
|
? NA_VALUE
|
|
? NA_VALUE
|
|
: TimeDuration.fromCurrent(oldestEntryAge).asCompactString();
|
|
: TimeDuration.fromCurrent(oldestEntryAge).asCompactString();
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"oldestSharedHistory",
|
|
"oldestSharedHistory",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"OldestShared Password Entry",
|
|
"OldestShared Password Entry",
|
|
display
|
|
display
|
|
));
|
|
));
|
|
}
|
|
}
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"emailQueueSize",
|
|
"emailQueueSize",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Email Queue Size",
|
|
"Email Queue Size",
|
|
numberFormat.format(pwmApplication.getEmailQueue().queueSize())
|
|
numberFormat.format(pwmApplication.getEmailQueue().queueSize())
|
|
));
|
|
));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"smsQueueSize",
|
|
"smsQueueSize",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"SMS Queue Size",
|
|
"SMS Queue Size",
|
|
numberFormat.format(pwmApplication.getSmsQueue().queueSize())
|
|
numberFormat.format(pwmApplication.getSmsQueue().queueSize())
|
|
));
|
|
));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"sharedHistorySize",
|
|
"sharedHistorySize",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Syslog Queue Size",
|
|
"Syslog Queue Size",
|
|
String.valueOf(pwmApplication.getAuditManager().syslogQueueSize())
|
|
String.valueOf(pwmApplication.getAuditManager().syslogQueueSize())
|
|
));
|
|
));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"localAuditRecords",
|
|
"localAuditRecords",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Audit Records",
|
|
"Audit Records",
|
|
pwmApplication.getAuditManager().sizeToDebugString()
|
|
pwmApplication.getAuditManager().sizeToDebugString()
|
|
));
|
|
));
|
|
@@ -329,16 +316,16 @@ public class AppDashboardData implements Serializable {
|
|
final String display = eldestAuditRecord != null
|
|
final String display = eldestAuditRecord != null
|
|
? TimeDuration.fromCurrent(eldestAuditRecord).asLongString()
|
|
? TimeDuration.fromCurrent(eldestAuditRecord).asLongString()
|
|
: NA_VALUE;
|
|
: NA_VALUE;
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"oldestLocalAuditRecords",
|
|
"oldestLocalAuditRecords",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"Oldest Audit Record",
|
|
"Oldest Audit Record",
|
|
display
|
|
display
|
|
));
|
|
));
|
|
}
|
|
}
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"logEvents",
|
|
"logEvents",
|
|
- Type.number,
|
|
|
|
|
|
+ DisplayElement.Type.number,
|
|
"Log Events",
|
|
"Log Events",
|
|
pwmApplication.getLocalDBLogger().sizeToDebugString()
|
|
pwmApplication.getLocalDBLogger().sizeToDebugString()
|
|
));
|
|
));
|
|
@@ -346,9 +333,9 @@ public class AppDashboardData implements Serializable {
|
|
final String display = pwmApplication.getLocalDBLogger() != null && pwmApplication.getLocalDBLogger().getTailDate() != null
|
|
final String display = pwmApplication.getLocalDBLogger() != null && pwmApplication.getLocalDBLogger().getTailDate() != null
|
|
? TimeDuration.fromCurrent(pwmApplication.getLocalDBLogger().getTailDate()).asLongString()
|
|
? TimeDuration.fromCurrent(pwmApplication.getLocalDBLogger().getTailDate()).asLongString()
|
|
: NA_VALUE;
|
|
: NA_VALUE;
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"oldestLogEvents",
|
|
"oldestLogEvents",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"Oldest Log Event",
|
|
"Oldest Log Event",
|
|
display
|
|
display
|
|
));
|
|
));
|
|
@@ -360,9 +347,9 @@ public class AppDashboardData implements Serializable {
|
|
? NA_VALUE
|
|
? NA_VALUE
|
|
: StringUtil.formatDiskSize(FileSystemUtility.getFileDirectorySize(
|
|
: StringUtil.formatDiskSize(FileSystemUtility.getFileDirectorySize(
|
|
pwmApplication.getLocalDB().getFileLocation()));
|
|
pwmApplication.getLocalDB().getFileLocation()));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"localDbSizeOnDisk",
|
|
"localDbSizeOnDisk",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"LocalDB Size On Disk",
|
|
"LocalDB Size On Disk",
|
|
display
|
|
display
|
|
));
|
|
));
|
|
@@ -373,9 +360,9 @@ public class AppDashboardData implements Serializable {
|
|
: pwmApplication.getLocalDB().getFileLocation() == null
|
|
: pwmApplication.getLocalDB().getFileLocation() == null
|
|
? NA_VALUE
|
|
? NA_VALUE
|
|
: StringUtil.formatDiskSize(FileSystemUtility.diskSpaceRemaining(pwmApplication.getLocalDB().getFileLocation()));
|
|
: StringUtil.formatDiskSize(FileSystemUtility.diskSpaceRemaining(pwmApplication.getLocalDB().getFileLocation()));
|
|
- localDbInfo.add(new DataElement(
|
|
|
|
|
|
+ localDbInfo.add(new DisplayElement(
|
|
"localDbFreeSpace",
|
|
"localDbFreeSpace",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"LocalDB Free Space",
|
|
"LocalDB Free Space",
|
|
display
|
|
display
|
|
));
|
|
));
|
|
@@ -402,12 +389,12 @@ public class AppDashboardData implements Serializable {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- private static List<DataElement> makeAboutJavaData(
|
|
|
|
|
|
+ private static List<DisplayElement> makeAboutJavaData(
|
|
final PwmApplication pwmApplication,
|
|
final PwmApplication pwmApplication,
|
|
final Locale locale
|
|
final Locale locale
|
|
) {
|
|
) {
|
|
final Map<PwmAboutProperty, String> aboutMap = PwmAboutProperty.makeInfoBean(pwmApplication);
|
|
final Map<PwmAboutProperty, String> aboutMap = PwmAboutProperty.makeInfoBean(pwmApplication);
|
|
- final List<DataElement> javaInfo = new ArrayList<>();
|
|
|
|
|
|
+ final List<DisplayElement> javaInfo = new ArrayList<>();
|
|
final String NA_VALUE = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, pwmApplication.getConfig());
|
|
final String NA_VALUE = Display.getLocalizedMessage(locale, Display.Value_NotApplicable, pwmApplication.getConfig());
|
|
|
|
|
|
{
|
|
{
|
|
@@ -428,9 +415,9 @@ public class AppDashboardData implements Serializable {
|
|
);
|
|
);
|
|
|
|
|
|
for (final PwmAboutProperty property : interestedProperties) {
|
|
for (final PwmAboutProperty property : interestedProperties) {
|
|
- javaInfo.add(new DataElement(
|
|
|
|
|
|
+ javaInfo.add(new DisplayElement(
|
|
property.name(),
|
|
property.name(),
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
property.getLabel(),
|
|
property.getLabel(),
|
|
aboutMap.getOrDefault(property, NA_VALUE)
|
|
aboutMap.getOrDefault(property, NA_VALUE)
|
|
));
|
|
));
|
|
@@ -443,17 +430,17 @@ public class AppDashboardData implements Serializable {
|
|
final String display = numberFormat.format(pwmApplication.getResourceServletService().itemsInCache())
|
|
final String display = numberFormat.format(pwmApplication.getResourceServletService().itemsInCache())
|
|
+ "items (" + numberFormat.format(pwmApplication.getResourceServletService().bytesInCache()) + " bytes)";
|
|
+ "items (" + numberFormat.format(pwmApplication.getResourceServletService().bytesInCache()) + " bytes)";
|
|
|
|
|
|
- javaInfo.add(new DataElement(
|
|
|
|
|
|
+ javaInfo.add(new DisplayElement(
|
|
"resourceFileServletCacheSize",
|
|
"resourceFileServletCacheSize",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"ResourceFileServlet Cache",
|
|
"ResourceFileServlet Cache",
|
|
display
|
|
display
|
|
));
|
|
));
|
|
}
|
|
}
|
|
|
|
|
|
- javaInfo.add(new DataElement(
|
|
|
|
|
|
+ javaInfo.add(new DisplayElement(
|
|
"resourceFileServletCacheHitRatio",
|
|
"resourceFileServletCacheHitRatio",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"ResourceFileServlet Cache Hit Ratio",
|
|
"ResourceFileServlet Cache Hit Ratio",
|
|
pwmApplication.getResourceServletService().cacheHitRatio().pretty(2)
|
|
pwmApplication.getResourceServletService().cacheHitRatio().pretty(2)
|
|
));
|
|
));
|
|
@@ -461,16 +448,16 @@ public class AppDashboardData implements Serializable {
|
|
{
|
|
{
|
|
final Map<SessionTrackService.DebugKey, String> debugInfoMap = pwmApplication.getSessionTrackService().getDebugData();
|
|
final Map<SessionTrackService.DebugKey, String> debugInfoMap = pwmApplication.getSessionTrackService().getDebugData();
|
|
|
|
|
|
- javaInfo.add(new DataElement(
|
|
|
|
|
|
+ javaInfo.add(new DisplayElement(
|
|
"sessionTotalSize",
|
|
"sessionTotalSize",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"Estimated Session Total Size",
|
|
"Estimated Session Total Size",
|
|
debugInfoMap.get(SessionTrackService.DebugKey.HttpSessionTotalSize)
|
|
debugInfoMap.get(SessionTrackService.DebugKey.HttpSessionTotalSize)
|
|
));
|
|
));
|
|
|
|
|
|
- javaInfo.add(new DataElement(
|
|
|
|
|
|
+ javaInfo.add(new DisplayElement(
|
|
"sessionAverageSize",
|
|
"sessionAverageSize",
|
|
- Type.string,
|
|
|
|
|
|
+ DisplayElement.Type.string,
|
|
"Estimated Session Total Size",
|
|
"Estimated Session Total Size",
|
|
debugInfoMap.get(SessionTrackService.DebugKey.HttpSessionAvgSize)
|
|
debugInfoMap.get(SessionTrackService.DebugKey.HttpSessionAvgSize)
|
|
));
|
|
));
|