hrntsm/Tunny

View on GitHub
Optuna/Storage/Journal/Storage.cs

Summary

Maintainability
F
5 days
Test Coverage

Showing 23 of 23 total issues

File Storage.cs has 546 lines of code (exceeds 250 allowed). Consider refactoring.
Open

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
 
 
Severity: Major
Found in Optuna/Storage/Journal/Storage.cs - About 1 day to fix

    Method ProcessLogEntry has a Cognitive Complexity of 52 (exceeds 20 allowed). Consider refactoring.
    Open

    private void ProcessLogEntry(JournalOperation opCode, JObject logObject)
    {
    switch (opCode)
    {
    case JournalOperation.CreateStudy:
    Severity: Minor
    Found in Optuna/Storage/Journal/Storage.cs - About 5 hrs to fix

    Method ProcessLogEntry has 139 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    private void ProcessLogEntry(JournalOperation opCode, JObject logObject)
    {
    switch (opCode)
    {
    case JournalOperation.CreateStudy:
    Severity: Major
    Found in Optuna/Storage/Journal/Storage.cs - About 5 hrs to fix

      Class JournalStorage has 35 methods (exceeds 20 allowed). Consider refactoring.
      Open

      public class JournalStorage : IOptunaStorage
      {
      private readonly Dictionary<int, Study.Study> _studies = new Dictionary<int, Study.Study>();
      private readonly Dictionary<int, Trial.Trial> _trialCache = new Dictionary<int, Trial.Trial>();
      private readonly Dictionary<string, int> _studyNameToIdIndex = new Dictionary<string, int>();
      Severity: Minor
      Found in Optuna/Storage/Journal/Storage.cs - About 4 hrs to fix

        Method LoadDataFromFile has 29 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        private void LoadDataFromFile()
        {
        const int BufferSize = 65536;
        var jsonBatch = new List<string>(1000);
         
         
        Severity: Minor
        Found in Optuna/Storage/Journal/Storage.cs - About 1 hr to fix

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          case JournalOperation.SetStudySystemAttr:
          {
          int studyId = (int)logObject["study_id"];
          var systemAttr = (JObject)logObject["system_attr"];
          foreach (KeyValuePair<string, JToken> item in systemAttr)
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 2 hrs to fix
          Optuna/Storage/Journal/Storage.cs on lines 141..155

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          case JournalOperation.SetStudyUserAttr:
          {
          int studyId = (int)logObject["study_id"];
          var userAttr = (JObject)logObject["user_attr"];
          foreach (KeyValuePair<string, JToken> item in userAttr)
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 2 hrs to fix
          Optuna/Storage/Journal/Storage.cs on lines 156..170

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          private void SetTrialSystemAttrFromJObject(int trialId, JObject systemAttr)
          {
          foreach (KeyValuePair<string, JToken> item in systemAttr)
          {
          string[] values = item.Value.Select(v => v.ToString()).ToArray();
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 1 hr to fix
          Optuna/Storage/Journal/Storage.cs on lines 278..289

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          private void SetTrialUserAttrFromJObject(int trialId, JObject userAttr)
          {
          foreach (KeyValuePair<string, JToken> item in userAttr)
          {
          string[] values = item.Value.Select(v => v.ToString()).ToArray();
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 1 hr to fix
          Optuna/Storage/Journal/Storage.cs on lines 265..276

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          public Dictionary<string, object> GetTrialUserAttrs(int trialId)
          {
          EnsureInitialized();
           
          if (!_trialCache.TryGetValue(trialId, out Trial.Trial trial))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 2 other locations - About 1 hr to fix
          Optuna/Storage/Journal/Storage.cs on lines 520..530
          Optuna/Storage/Journal/Storage.cs on lines 532..542

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          public Dictionary<string, object> GetTrialParams(int trialId)
          {
          EnsureInitialized();
           
          if (!_trialCache.TryGetValue(trialId, out Trial.Trial trial))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 2 other locations - About 1 hr to fix
          Optuna/Storage/Journal/Storage.cs on lines 532..542
          Optuna/Storage/Journal/Storage.cs on lines 544..554

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          public Dictionary<string, object> GetTrialSystemAttrs(int trialId)
          {
          EnsureInitialized();
           
          if (!_trialCache.TryGetValue(trialId, out Trial.Trial trial))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 2 other locations - About 1 hr to fix
          Optuna/Storage/Journal/Storage.cs on lines 520..530
          Optuna/Storage/Journal/Storage.cs on lines 544..554

          Identical blocks of code found in 2 locations. Consider refactoring.
          Open

          if (directions[0] == StudyDirection.Maximize)
          {
          return allTrials.OrderByDescending(trial => trial.Values[0]).First();
          }
          else
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 55 mins to fix
          Optuna/Storage/RDB/Storage.cs on lines 530..537

          Similar blocks of code found in 4 locations. Consider refactoring.
          Open

          public void SetTrialUserAttr(int trialId, string key, object value)
          {
          EnsureInitialized();
           
          if (!_trialCache.TryGetValue(trialId, out Trial.Trial trial))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 3 other locations - About 50 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 561..571
          Optuna/Storage/Journal/Storage.cs on lines 573..583
          Optuna/Storage/Journal/Storage.cs on lines 620..630

          Similar blocks of code found in 4 locations. Consider refactoring.
          Open

          public void SetTrialSystemAttr(int trialId, string key, object value)
          {
          EnsureInitialized();
           
          if (!_trialCache.TryGetValue(trialId, out Trial.Trial trial))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 3 other locations - About 50 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 561..571
          Optuna/Storage/Journal/Storage.cs on lines 573..583
          Optuna/Storage/Journal/Storage.cs on lines 632..642

          Similar blocks of code found in 4 locations. Consider refactoring.
          Open

          public void SetStudyUserAttr(int studyId, string key, object value)
          {
          EnsureInitialized();
           
          if (!_studies.TryGetValue(studyId, out Study.Study study))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 3 other locations - About 50 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 561..571
          Optuna/Storage/Journal/Storage.cs on lines 620..630
          Optuna/Storage/Journal/Storage.cs on lines 632..642

          Similar blocks of code found in 4 locations. Consider refactoring.
          Open

          public void SetStudySystemAttr(int studyId, string key, object value)
          {
          EnsureInitialized();
           
          if (!_studies.TryGetValue(studyId, out Study.Study study))
          Severity: Major
          Found in Optuna/Storage/Journal/Storage.cs and 3 other locations - About 50 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 573..583
          Optuna/Storage/Journal/Storage.cs on lines 620..630
          Optuna/Storage/Journal/Storage.cs on lines 632..642

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          public Dictionary<string, object> GetStudyUserAttrs(int studyId)
          {
          EnsureInitialized();
           
          if (!_studies.TryGetValue(studyId, out Study.Study study))
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 40 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 437..447

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          public Dictionary<string, object> GetStudySystemAttrs(int studyId)
          {
          EnsureInitialized();
           
          if (!_studies.TryGetValue(studyId, out Study.Study study))
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 40 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 449..459

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          public int GetTrialNumberFromId(int trialId)
          {
          EnsureInitialized();
           
          if (!_trialCache.TryGetValue(trialId, out Trial.Trial trial))
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 35 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 425..435

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          public string GetStudyNameFromId(int studyId)
          {
          EnsureInitialized();
           
          if (!_studies.TryGetValue(studyId, out Study.Study study))
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 35 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 491..501

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          case JournalOperation.SetTrialSystemAttr:
          {
          int trialId = (int)logObject["trial_id"];
          var systemAttr = (JObject)logObject["system_attr"];
          SetTrialSystemAttrFromJObject(trialId, systemAttr);
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 35 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 248..254

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          case JournalOperation.SetTrialUserAttr:
          {
          int trialId = (int)logObject["trial_id"];
          var userAttr = (JObject)logObject["user_attr"];
          SetTrialUserAttrFromJObject(trialId, userAttr);
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs and 1 other location - About 35 mins to fix
          Optuna/Storage/Journal/Storage.cs on lines 255..261
          Category
          Status