From bbcbdd86d007772974db13716cbb5d15ae89f89f Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 5 Jun 2020 23:36:44 +0000 Subject: [PATCH] clean up and various little improvements after search for static wasted memory objects (not found) At this point it appears I don't have any leaks and it's all pretty efficient. --- .../ControllerHelpers/ApiOkResponse.cs | 23 +-- .../AyaNova/ControllerHelpers/Authorized.cs | 17 +- .../Controllers/AttachmentController.cs | 2 - .../DataListSqlFilterCriteriaBuilder.cs | 34 ++-- server/AyaNova/biz/CustomFieldType.cs | 41 +++-- server/AyaNova/biz/UiFieldDataType.cs | 16 -- .../generator/CoreJobMetricsSnapshot.cs | 22 +-- server/AyaNova/util/ApplicationLogging.cs | 16 +- server/AyaNova/util/AyaNovaVersion.cs | 22 +-- server/AyaNova/util/DataUtil.cs | 3 - server/AyaNova/util/DateUtil.cs | 2 - server/AyaNova/util/FileUtil.cs | 49 ----- server/AyaNova/util/Hasher.cs | 16 -- server/AyaNova/util/JsonUtil.cs | 6 +- server/AyaNova/util/MetricsRegistry.cs | 167 ------------------ server/AyaNova/util/RetryHelper.cs | 3 +- server/AyaNova/util/StringUtil.cs | 26 --- 17 files changed, 56 insertions(+), 409 deletions(-) delete mode 100644 server/AyaNova/util/MetricsRegistry.cs diff --git a/server/AyaNova/ControllerHelpers/ApiOkResponse.cs b/server/AyaNova/ControllerHelpers/ApiOkResponse.cs index 77b28fa1..788a4a09 100644 --- a/server/AyaNova/ControllerHelpers/ApiOkResponse.cs +++ b/server/AyaNova/ControllerHelpers/ApiOkResponse.cs @@ -1,31 +1,10 @@ - namespace AyaNova.Api.ControllerHelpers { - - - //return the response with optional readonly flag - //this exists basically for consistency and to reduce the bandwidth if not readonly which is most common - //UPDATE: Actually, there's no way for the biz object to set the readonly status and the client doesn't really use it at this point 2020-05-18 09:09:29 - //in theory it should be a non db property of the model if it's going to be used at all so removing it entirely from response as a separate property public static class ApiOkResponse { public static object Response(object result) { - // if (isReadOnly) - // { - // return new - // { - // Data = result, - // ReadOnly = true - // }; - // } - // else - // { - return new { Data = result }; - //} - + return new { Data = result }; } }//eoc - - }//eons \ No newline at end of file diff --git a/server/AyaNova/ControllerHelpers/Authorized.cs b/server/AyaNova/ControllerHelpers/Authorized.cs index 049fded4..af570ffd 100644 --- a/server/AyaNova/ControllerHelpers/Authorized.cs +++ b/server/AyaNova/ControllerHelpers/Authorized.cs @@ -56,7 +56,7 @@ namespace AyaNova.Api.ControllerHelpers /// /// internal static bool HasAnyRole(AuthorizationRoles currentUserRoles, AyaType objectType) - { + { var RoleSet = BizRoles.GetRoleSet(objectType); var AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change | RoleSet.Select; return currentUserRoles.HasAnyFlags(AllowedRoles); @@ -120,14 +120,6 @@ namespace AyaNova.Api.ControllerHelpers var RoleSet = BizRoles.GetRoleSet(objectType); var AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change; return currentUserRoles.HasAnyFlags(AllowedRoles); - - // if (currentUserRoles.HasAnyFlags(BizRoles.GetRoleSet(objectType).Change)) - // return true; - - // if (currentUserRoles.HasAnyFlags(BizRoles.GetRoleSet(objectType).ReadFullRecord)) - // return true; - - //return false; } @@ -154,14 +146,10 @@ namespace AyaNova.Api.ControllerHelpers { if (currentUserRoles.HasAnyFlags(BizRoles.GetRoleSet(objectType).Change)) return true; - return false; } - - - /// /// MODIFY /// @@ -172,7 +160,6 @@ namespace AyaNova.Api.ControllerHelpers internal static bool HasModifyRole(IDictionary HttpContextItems, AyaType objectType) { AuthorizationRoles currentUserRoles = UserRolesFromContext.Roles(HttpContextItems); - return HasModifyRole(currentUserRoles, objectType); } @@ -219,8 +206,6 @@ namespace AyaNova.Api.ControllerHelpers { if (currentUserRoles.HasAnyFlags(BizRoles.GetRoleSet(objectType).Change)) return true; - - return false; } diff --git a/server/AyaNova/Controllers/AttachmentController.cs b/server/AyaNova/Controllers/AttachmentController.cs index 566ec43c..9a2a22a4 100644 --- a/server/AyaNova/Controllers/AttachmentController.cs +++ b/server/AyaNova/Controllers/AttachmentController.cs @@ -35,8 +35,6 @@ namespace AyaNova.Api.Controllers private readonly AyContext ct; private readonly ILogger log; private readonly ApiServerState serverState; - //private static readonly FormOptions _defaultFormOptions = new FormOptions(); - /// /// diff --git a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs index aa71b682..e11e475e 100644 --- a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs +++ b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs @@ -300,19 +300,19 @@ namespace AyaNova.DataList break; -/* NOTE: CASE - I decided to NOT do case insensitive for now for datalists like I did for picklists because it's a bit of a different situation -I would need to make big changes to the select builder and this criteria builder so it's TTM at the moment because it's all tested and working -however also the use is a bit different in that it's much more necessary to be hyper accurate here since this drives reporting and potentially a lot -of important business data. Matching two different clients inadvertantly because of a case issue would be a bit of a kerfuffle potentially so I'd rather err on the side of accuracy -and also I'm not certain how the case code will work with other languages so it's a bit more risky here, if a picklist doesn't work I get a support call but if a report is missing data then maybe -the user doesn't realize it and has bad reports. + /* NOTE: CASE - I decided to NOT do case insensitive for now for datalists like I did for picklists because it's a bit of a different situation + I would need to make big changes to the select builder and this criteria builder so it's TTM at the moment because it's all tested and working + however also the use is a bit different in that it's much more necessary to be hyper accurate here since this drives reporting and potentially a lot + of important business data. Matching two different clients inadvertantly because of a case issue would be a bit of a kerfuffle potentially so I'd rather err on the side of accuracy + and also I'm not certain how the case code will work with other languages so it's a bit more risky here, if a picklist doesn't work I get a support call but if a report is missing data then maybe + the user doesn't realize it and has bad reports. -code from picklist in case I decide to do it later - if (ServerGlobalBizSettings.SearchCaseSensitiveOnly) - sWhere = $"({valueColumnName} like '%{autoCompleteQuery}%')"; - else - sWhere = $"(lower({valueColumnName}) like lower('%{autoCompleteQuery}%'))"; -*/ + code from picklist in case I decide to do it later + if (ServerGlobalBizSettings.SearchCaseSensitiveOnly) + sWhere = $"({valueColumnName} like '%{autoCompleteQuery}%')"; + else + sWhere = $"(lower({valueColumnName}) like lower('%{autoCompleteQuery}%'))"; + */ //Following 7 operators added 14-June-2006 case DataListFilterComparisonOperator.NotContains: @@ -592,16 +592,6 @@ code from picklist in case I decide to do it later sb.Append("'"); } - // public static string SqlDateFormatHighLow(bool bhigh) - // { - // //new test version - // if (bhigh) - // return SqlDateFormat() + ".999"; - // else - // return SqlDateFormat() + ".000"; - - // } - private static DateTime ZeroMilliseconds(DateTime d) { diff --git a/server/AyaNova/biz/CustomFieldType.cs b/server/AyaNova/biz/CustomFieldType.cs index 63982d9b..61d9ff89 100644 --- a/server/AyaNova/biz/CustomFieldType.cs +++ b/server/AyaNova/biz/CustomFieldType.cs @@ -4,29 +4,34 @@ namespace AyaNova.Biz { public static class CustomFieldType { - //v7 custom field types: - // - Currency - // - DateAndTime - // - TimeOnly - // - DateOnly - // - Number - // - Text - // - Bool + + private static List _validCustomFieldTypes = new List(); + static CustomFieldType() + { + //v7 custom field types: + // - Currency + // - DateAndTime + // - TimeOnly + // - DateOnly + // - Number + // - Text + // - Bool + _validCustomFieldTypes.Add((int)UiFieldDataType.Currency); + _validCustomFieldTypes.Add((int)UiFieldDataType.Date); + _validCustomFieldTypes.Add((int)UiFieldDataType.Time); + _validCustomFieldTypes.Add((int)UiFieldDataType.DateTime); + _validCustomFieldTypes.Add((int)UiFieldDataType.Text); + _validCustomFieldTypes.Add((int)UiFieldDataType.Decimal); + _validCustomFieldTypes.Add((int)UiFieldDataType.Integer); + _validCustomFieldTypes.Add((int)UiFieldDataType.Bool); + } + public static List ValidCustomFieldTypes { get { - var ret = new List(); - ret.Add((int)UiFieldDataType.Currency); - ret.Add((int)UiFieldDataType.Date); - ret.Add((int)UiFieldDataType.Time); - ret.Add((int)UiFieldDataType.DateTime); - ret.Add((int)UiFieldDataType.Text); - ret.Add((int)UiFieldDataType.Decimal); - ret.Add((int)UiFieldDataType.Integer); - ret.Add((int)UiFieldDataType.Bool); - return ret; + return _validCustomFieldTypes; } } diff --git a/server/AyaNova/biz/UiFieldDataType.cs b/server/AyaNova/biz/UiFieldDataType.cs index 24c5087f..bf038a99 100644 --- a/server/AyaNova/biz/UiFieldDataType.cs +++ b/server/AyaNova/biz/UiFieldDataType.cs @@ -2,21 +2,6 @@ using System.Collections.Generic; namespace AyaNova.Biz { - // public static class AyDataType - // { - // //Date and time types, all stored internally as a date and time timestamp, but may display as date only or time only - // public const string DateTime = "datetime"; - // public const string Date = "date"; - // public const string Time = "time"; - // public const string Text = "text"; - // public const string Integer = "int"; - // public const string Bool = "bool"; - // public const string Decimal = "decimal"; - // public const string Currency = "currency"; - // public const string Tags = "tags"; - // public const string Enum = "enum";//enums are just integers in the db so the sql code handles it like an int, but the client needs to know it's an enum - // } - //DataTypes used to format display properly and for custom fields definition etc public enum UiFieldDataType : int { @@ -34,6 +19,5 @@ namespace AyaNova.Biz EmailAddress = 11, HTTP = 12, InternalId = 13 - } } diff --git a/server/AyaNova/generator/CoreJobMetricsSnapshot.cs b/server/AyaNova/generator/CoreJobMetricsSnapshot.cs index 7012a462..938423ef 100644 --- a/server/AyaNova/generator/CoreJobMetricsSnapshot.cs +++ b/server/AyaNova/generator/CoreJobMetricsSnapshot.cs @@ -20,21 +20,20 @@ namespace AyaNova.Biz private static Process _process = Process.GetCurrentProcess(); private static TimeSpan _oldCPUTime = TimeSpan.Zero; - private static DateTime _lastMMSnapshot = DateTime.UtcNow; + private static DateTime _lastMMSnapshot = DateTime.UtcNow; private static DateTime _lastDDSnapshot = DateTime.UtcNow; - // private static DateTime _lastRpsTime = DateTime.UtcNow; private static double _cpu = 0; -#if(DEBUG) - private static TimeSpan tsOneMinute = new TimeSpan(0, 1, 0); +#if (DEBUG) + private static TimeSpan tsOneMinute = new TimeSpan(0, 1, 0); private static TimeSpan ts24Hours = new TimeSpan(24, 0, 0); #else private static TimeSpan tsOneMinute = new TimeSpan(0, 1, 0); private static TimeSpan ts24Hours = new TimeSpan(24, 0, 0); #endif //////////////////////////////////////////////////////////////////////////////////////////////// - // DoAsync + // // public static void DoJob() { @@ -68,7 +67,7 @@ namespace AyaNova.Biz // cannot be shared with other processes. var PrivateBytes = _process.PrivateMemorySize64;//bigint - + //NOTE: CPU percentage is *our* process cpu percentage over timeframe of last captured avg //So it does *not* show the entire server cpu load, only for RAVEN. //Overall, server stats need to be captured / viewed independently (digital ocean control panel for example or windows task manager) @@ -76,8 +75,9 @@ namespace AyaNova.Biz //In some cases the first snapshot taken after a reboot //is a huge number way beyond 100 which fucks up the charts //likely due to the algorithm above and new values but not worth looking into atm - if(CPU > 100){ - CPU=0; + if (CPU > 100) + { + CPU = 0; } using (AyContext ct = ServiceProviderProvider.DBContext) { @@ -90,7 +90,7 @@ namespace AyaNova.Biz _lastMMSnapshot = now; } - + ///////////////////////////////////////////// //ONCE A DAY SNAPS AND CLEANUP @@ -147,8 +147,8 @@ namespace AyaNova.Biz DateTime ClearDate = DateTime.UtcNow - tsDataRetention; using (AyContext ct = ServiceProviderProvider.DBContext) { - ct.Database.ExecuteSqlInterpolated($"delete from ametricmm where t < {ClearDate.ToUniversalTime()}"); - ct.Database.ExecuteSqlInterpolated($"delete from ametricdd where t < {ClearDate.ToUniversalTime()}"); + ct.Database.ExecuteSqlInterpolated($"delete from ametricmm where t < {ClearDate.ToUniversalTime()}"); + ct.Database.ExecuteSqlInterpolated($"delete from ametricdd where t < {ClearDate.ToUniversalTime()}"); } _lastDDSnapshot = now; } diff --git a/server/AyaNova/util/ApplicationLogging.cs b/server/AyaNova/util/ApplicationLogging.cs index 31a9e6e3..f90efa48 100644 --- a/server/AyaNova/util/ApplicationLogging.cs +++ b/server/AyaNova/util/ApplicationLogging.cs @@ -8,17 +8,9 @@ namespace AyaNova.Util /// internal static class ApplicationLogging { - internal static ILogger theLogger{get;set;} - internal static NLogLoggerProvider LoggerProvider { get; set; }// = new LoggerFactory(); - internal static ILogger CreateLogger() => LoggerProvider.CreateLogger(typeof(T).FullName); - //internal static ILogger CreateLogger(string categoryName) => theLogger; - internal static ILogger CreateLogger(string categoryName)=> LoggerProvider.CreateLogger(categoryName); - - - - // internal static ILoggerFactory LoggerFactory { get; set; }// = new LoggerFactory(); - // internal static ILogger CreateLogger() => LoggerFactory.CreateLogger(); - // internal static ILogger CreateLogger(string categoryName) => LoggerFactory.CreateLogger(categoryName); - + internal static ILogger theLogger { get; set; } + internal static NLogLoggerProvider LoggerProvider { get; set; } + internal static ILogger CreateLogger() => LoggerProvider.CreateLogger(typeof(T).FullName); + internal static ILogger CreateLogger(string categoryName) => LoggerProvider.CreateLogger(categoryName); } } \ No newline at end of file diff --git a/server/AyaNova/util/AyaNovaVersion.cs b/server/AyaNova/util/AyaNovaVersion.cs index 9f91566a..d501a288 100644 --- a/server/AyaNova/util/AyaNovaVersion.cs +++ b/server/AyaNova/util/AyaNovaVersion.cs @@ -1,29 +1,11 @@ namespace AyaNova.Util { - - /// /// Version strings centrally located for convenience /// internal static class AyaNovaVersion { - public static string VersionString - { - get - { - return "8.0.0-alpha.5"; - } - } - - public static string FullNameAndVersion - { - get - { - return "AyaNova server " + VersionString; - } - } - - + public const string VersionString = "8.0.0-alpha.6"; + public const string FullNameAndVersion = "AyaNova server " + VersionString; }//eoc - }//eons \ No newline at end of file diff --git a/server/AyaNova/util/DataUtil.cs b/server/AyaNova/util/DataUtil.cs index 687219d8..aee1b411 100644 --- a/server/AyaNova/util/DataUtil.cs +++ b/server/AyaNova/util/DataUtil.cs @@ -1,8 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; namespace AyaNova.Util { diff --git a/server/AyaNova/util/DateUtil.cs b/server/AyaNova/util/DateUtil.cs index 5c00ce4c..385b76c7 100644 --- a/server/AyaNova/util/DateUtil.cs +++ b/server/AyaNova/util/DateUtil.cs @@ -2,8 +2,6 @@ using System; namespace AyaNova.Util { - - internal static class DateUtil { /// diff --git a/server/AyaNova/util/FileUtil.cs b/server/AyaNova/util/FileUtil.cs index 43e712e2..e8834636 100644 --- a/server/AyaNova/util/FileUtil.cs +++ b/server/AyaNova/util/FileUtil.cs @@ -87,19 +87,6 @@ namespace AyaNova.Util } - // /// - // /// Delete a utility file (backup folder file) - // /// - // /// - // internal static void DeleteUtilityFile(string fileName) - // { - // var utilityFilePath = GetFullPathForUtilityFile(fileName); - // if (File.Exists(utilityFilePath)) - // { - // File.Delete(utilityFilePath); - // } - // } - public class BackupFileInfo { public string length { get; set; } @@ -311,42 +298,6 @@ namespace AyaNova.Util return zipEntries; } - // /// - // /// Import utility - get individual files specified in zip archive as JSON objects - // /// - // /// - // /// Name of utility zip import file - // /// Name of entries in utility file archive to fetch - // /// - // internal static List ZipGetUtilityArchiveEntriesAsJsonObjects(List entryList, string zipFileName) - // { - // List jList = new List(); - // var zipPath = GetFullPathForUtilityFile(zipFileName); - // using (ZipArchive archive = ZipFile.OpenRead(zipPath)) - // { - // foreach (string importFileName in entryList) - // { - // ZipArchiveEntry entry = archive.GetEntry(importFileName); - // if (entry != null) - // { - // //stream entry into a new jobject and add it to the list - // StreamReader reader = new StreamReader(entry.Open()); - // string text = reader.ReadToEnd(); - // var j = JObject.Parse(text); - - // //Here add v7 import file name as sometimes it's needed later (Translations) - // j.Add("V7_SOURCE_FILE_NAME", JToken.FromObject(importFileName)); - // jList.Add(j); - // } - // } - - // } - - // return jList; - - // } - - #endregion Zip handling #region Attachment file handling diff --git a/server/AyaNova/util/Hasher.cs b/server/AyaNova/util/Hasher.cs index c27e30e7..ab35bb13 100644 --- a/server/AyaNova/util/Hasher.cs +++ b/server/AyaNova/util/Hasher.cs @@ -32,22 +32,6 @@ namespace AyaNova.Util return Convert.ToBase64String(salt); } - - // /// - // /// Generate a random ID - // /// - // /// HEX - // internal static string GenerateStrongId() - // { - // var s = new byte[32]; - // var random = RandomNumberGenerator.Create(); - // random.GetNonZeroBytes(s); - // return BitConverter.ToString(s).Replace("-", string.Empty).ToLowerInvariant(); - // } - - - - }//eoc }//eons \ No newline at end of file diff --git a/server/AyaNova/util/JsonUtil.cs b/server/AyaNova/util/JsonUtil.cs index eec264ab..00c4fc35 100644 --- a/server/AyaNova/util/JsonUtil.cs +++ b/server/AyaNova/util/JsonUtil.cs @@ -1,5 +1,3 @@ -using System; -using System.Linq; using System.Collections.Generic; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -28,14 +26,12 @@ namespace AyaNova.Util JArray j = JArray.Parse(jsonIn); return JsonConvert.SerializeObject(j, Formatting.None); } - if (jsonIn.StartsWith("{")) { JObject j = JObject.Parse(jsonIn); return JsonConvert.SerializeObject(j, Formatting.None); } - - //Not an object or an array so just return it, possibly suspect, maybe log this shit + //Not an object or an array so just return it return jsonIn; } diff --git a/server/AyaNova/util/MetricsRegistry.cs b/server/AyaNova/util/MetricsRegistry.cs deleted file mode 100644 index 9f16de3b..00000000 --- a/server/AyaNova/util/MetricsRegistry.cs +++ /dev/null @@ -1,167 +0,0 @@ -// using App.Metrics; -// using App.Metrics.Counter; -// using App.Metrics.Gauge; -// using App.Metrics.Histogram; -// using App.Metrics.ReservoirSampling.Uniform; -// using App.Metrics.Meter; -// using App.Metrics.Timer; -// using App.Metrics.Apdex; -// using App.Metrics.ReservoirSampling.ExponentialDecay; - -// namespace AyaNova.Util -// { -// /// -// /// All metrics gathered by AyaNova are defined here -// /// (except for endpoint ones gathered automatically by App.Metrics) -// /// https://www.app-metrics.io -// /// -// public static class MetricsRegistry -// { - -// /// -// /// Physical memory -// /// Memory being used by this process (RAVEN) -// /// -// public static GaugeOptions PhysicalMemoryGauge = new GaugeOptions -// { -// Name = "Process Physical Memory", -// MeasurementUnit = Unit.Bytes -// }; - -// /// -// /// Private bytes -// /// The current size, in bytes, of the committed memory owned by this process. -// /// Memory leaks are identified by a consistent and prolonged increase in Private Bytes. -// /// This is the best performance counter for detecting memory leaks. -// /// -// public static GaugeOptions PrivateBytesGauge = new GaugeOptions -// { -// Name = "Process Private Bytes", -// MeasurementUnit = Unit.Bytes -// }; - -// /// -// /// Exceptions that are handled by the ApiCustomExceptionFilter -// /// Basically any exception that is not normal and expected -// /// -// public static MeterOptions UnhandledExceptionsMeter => new MeterOptions -// { -// Name = "Exceptions Meter", -// MeasurementUnit = Unit.Calls -// }; - -// /// -// /// Login failed meter -// /// -// public static MeterOptions FailedLoginMeter => new MeterOptions -// { -// Name = "Failed Login Meter", -// MeasurementUnit = Unit.Calls -// }; - -// /// -// /// Login failed meter -// /// -// public static MeterOptions SuccessfulLoginMeter => new MeterOptions -// { -// Name = "Successful Login Meter", -// MeasurementUnit = Unit.Calls -// }; - -// /// -// /// Records in db -// /// -// public static GaugeOptions DBRecordsGauge = new GaugeOptions -// { -// Name = "DB Records", -// MeasurementUnit = Unit.Items -// }; - -// /// -// /// Jobs in db -// /// -// public static GaugeOptions JobsGauge = new GaugeOptions -// { -// Name = "Jobs", -// MeasurementUnit = Unit.Items -// }; - -// /// -// /// File count on disk -// /// -// public static GaugeOptions FileCountGauge = new GaugeOptions -// { -// Name = "File count", -// MeasurementUnit = Unit.Items -// }; - -// /// -// /// File size on disk -// /// -// public static GaugeOptions FileSizeGauge = new GaugeOptions -// { -// Name = "File size", -// MeasurementUnit = Unit.Bytes -// }; - - - - - - - -// // ================================================================== -// // /// -// // /// -// // /// -// // public static GaugeOptions Errors => new GaugeOptions -// // { -// // Context = "My_Gauge_context", -// // Name = "Errors" -// // }; - - - -// // /// -// // /// -// // /// -// // public static HistogramOptions SampleHistogram => new HistogramOptions -// // { -// // Name = "Sample Histogram", -// // Reservoir = () => new DefaultAlgorithmRReservoir(), -// // MeasurementUnit = Unit.MegaBytes -// // }; - -// // /// -// // /// -// // /// -// // public static MeterOptions SampleMeter => new MeterOptions -// // { -// // Name = "Sample Meter", -// // MeasurementUnit = Unit.Calls -// // }; - -// // /// -// // /// -// // /// -// // public static TimerOptions SampleTimer => new TimerOptions -// // { -// // Name = "Sample Timer", -// // MeasurementUnit = Unit.Items, -// // DurationUnit = TimeUnit.Milliseconds, -// // RateUnit = TimeUnit.Milliseconds, -// // Reservoir = () => new DefaultForwardDecayingReservoir(sampleSize: 1028, alpha: 0.015) -// // }; - -// // /// -// // /// -// // /// -// // public static ApdexOptions SampleApdex => new ApdexOptions -// // { -// // Name = "Sample Apdex" -// // }; - - - -// } -// } diff --git a/server/AyaNova/util/RetryHelper.cs b/server/AyaNova/util/RetryHelper.cs index d52a37f7..a19a43a0 100644 --- a/server/AyaNova/util/RetryHelper.cs +++ b/server/AyaNova/util/RetryHelper.cs @@ -10,8 +10,7 @@ namespace AyaNova.Util /// public static class RetryHelper { - //private static ILog logger = LogManager.GetLogger(); //use a logger or trace of your choice - // private readonly ILogger log; + /// /// /// diff --git a/server/AyaNova/util/StringUtil.cs b/server/AyaNova/util/StringUtil.cs index b4b9faf4..a2f43236 100644 --- a/server/AyaNova/util/StringUtil.cs +++ b/server/AyaNova/util/StringUtil.cs @@ -90,32 +90,6 @@ namespace AyaNova.Util } - // /// - // /// Make a unique but duplicate object name of desired length - // /// (Used by Duplicate object function) - // /// - // /// - // /// - // /// - // public static string NameUniquify(string s, int maxLength) - // { - // //Unique string - // string unique = " - " + DateUtil.SortableShortCurrentDateTimeValue; - // string ret = s + unique; - // var diff = maxLength - ret.Length; - // if (diff < 0) - // { - // if (unique.Length >= maxLength) - // { - // throw new System.ArgumentOutOfRangeException("StringUtil::nameUniquify - maxlength> unique value, source field too short for this function?"); - // } - // ret = s.Substring(0, Math.Abs(diff)) + unique; - // } - - // return ret; - // } - - //Used to ensure a unique name generated by appending -nnn is within length requirements by splitting and chopping part of text to keep name public static string UniqueNameBuilder(string oldName, long appendValue, int maxLength) {