Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/02/12 11:40:31 (13 years ago)
Author:
sforsten
Message:

#1708: merged r7209 from trunk

  • adjusted GUI
  • added toggle for the different series
  • X Axis labels are rounded to useful values
  • added ToolTip
Location:
branches/RegressionBenchmarks
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/RegressionBenchmarks

  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/Core.cs

    r6998 r7255  
    4747    private Semaphore waitShutdownSem = new Semaphore(0, 1);
    4848    private bool abortRequested;
    49     private ISlaveCommunication clientCom;
    5049    private ServiceHost slaveComm;
    5150    private WcfService wcfService;
     
    7776        slaveComm = new ServiceHost(typeof(SlaveCommunicationService));
    7877        slaveComm.Open();
    79         clientCom = SlaveClientCom.Instance.ClientCom;
    80 
     78       
    8179        // delete all left over task directories
    8280        pluginManager.CleanPluginTemp();
    83         clientCom.LogMessage("Hive Slave started");
     81        SlaveClientCom.Instance.LogMessage("Hive Slave started");
    8482
    8583        wcfService = WcfService.Instance;
     
    9391          EventLogManager.LogException(ex);
    9492        } else {
    95           //try to log with clientCom. if this works the user sees at least a message,
     93          //try to log with SlaveClientCom.Instance. if this works the user sees at least a message,
    9694          //else an exception will be thrown anyways.
    97           clientCom.LogMessage(string.Format("Uncaught exception: {0} {1} Core is going to shutdown.", ex.ToString(), Environment.NewLine));
     95          SlaveClientCom.Instance.LogMessage(string.Format("Uncaught exception: {0} {1} Core is going to shutdown.", ex.ToString(), Environment.NewLine));
    9896        }
    9997        ShutdownCore();
    100       }
    101       finally {
     98      } finally {
    10299        DeregisterServiceEvents();
    103100        waitShutdownSem.Release();
     
    119116        DetermineAction(container);
    120117        if (!abortRequested) {
    121           clientCom.StatusChanged(configManager.GetStatusForClientConsole());
     118          SlaveClientCom.Instance.StatusChanged(configManager.GetStatusForClientConsole());
    122119        }
    123120      }
     
    135132
    136133    private void WcfService_ExceptionOccured(object sender, EventArgs<Exception> e) {
    137       clientCom.LogMessage(string.Format("Connection to server interruped with exception: {0}", e.Value.Message));
     134      SlaveClientCom.Instance.LogMessage(string.Format("Connection to server interruped with exception: {0}", e.Value.Message));
    138135    }
    139136
    140137    private void WcfService_Connected(object sender, EventArgs e) {
    141       clientCom.LogMessage("Connected successfully to Hive server");
     138      SlaveClientCom.Instance.LogMessage("Connected successfully to Hive server");
    142139    }
    143140
     
    147144    /// <param name="container">The container, containing the message</param>
    148145    private void DetermineAction(MessageContainer container) {
    149       clientCom.LogMessage(string.Format("Message: {0} for task: {1} ", container.Message.ToString(), container.TaskId));
     146      SlaveClientCom.Instance.LogMessage(string.Format("Message: {0} for task: {1} ", container.Message.ToString(), container.TaskId));
    150147
    151148      switch (container.Message) {
     
    196193      .ContinueWith((t) => {
    197194        SlaveStatusInfo.IncrementExceptionOccured();
    198         clientCom.LogMessage(t.Exception.ToString());
     195        SlaveClientCom.Instance.LogMessage(t.Exception.ToString());
    199196      }, TaskContinuationOptions.OnlyOnFaulted);
    200197    }
     
    204201       .ContinueWith((t) => {
    205202         SlaveStatusInfo.IncrementExceptionOccured();
    206          clientCom.LogMessage(t.Exception.ToString());
     203         SlaveClientCom.Instance.LogMessage(t.Exception.ToString());
    207204       }, TaskContinuationOptions.OnlyOnFaulted);
    208205    }
     
    212209       .ContinueWith((t) => {
    213210         SlaveStatusInfo.IncrementExceptionOccured();
    214          clientCom.LogMessage(t.Exception.ToString());
     211         SlaveClientCom.Instance.LogMessage(t.Exception.ToString());
    215212       }, TaskContinuationOptions.OnlyOnFaulted);
    216213    }
     
    220217       .ContinueWith((t) => {
    221218         SlaveStatusInfo.IncrementExceptionOccured();
    222          clientCom.LogMessage(t.Exception.ToString());
     219         SlaveClientCom.Instance.LogMessage(t.Exception.ToString());
    223220       }, TaskContinuationOptions.OnlyOnFaulted);
    224221    }
     
    334331        if (task == null) throw new TaskNotFoundException(e.Value.TaskId);
    335332        task.ExecutionTime = e.Value.ExecutionTime;
    336         TaskData taskData = e.Value.GetTaskData();
     333        TaskData taskData = e.Value2;
    337334        wcfService.UpdateTaskData(task, taskData, configManager.GetClientInfo().Id, TaskState.Paused);
    338335      }
    339336      catch (TaskNotFoundException ex) {
    340         clientCom.LogMessage(ex.ToString());
     337        SlaveClientCom.Instance.LogMessage(ex.ToString());
    341338      }
    342339      catch (Exception ex) {
    343         clientCom.LogMessage(ex.ToString());
     340        SlaveClientCom.Instance.LogMessage(ex.ToString());
    344341      }
    345342    }
     
    352349        if (task == null) throw new TaskNotFoundException(e.Value.TaskId);
    353350        task.ExecutionTime = e.Value.ExecutionTime;
    354         TaskData taskData = e.Value.GetTaskData();
     351        TaskData taskData = e.Value2;
    355352        wcfService.UpdateTaskData(task, taskData, configManager.GetClientInfo().Id, TaskState.Finished);
    356353      }
    357354      catch (TaskNotFoundException ex) {
    358         clientCom.LogMessage(ex.ToString());
     355        SlaveClientCom.Instance.LogMessage(ex.ToString());
    359356      }
    360357      catch (Exception ex) {
    361         clientCom.LogMessage(ex.ToString());
     358        SlaveClientCom.Instance.LogMessage(ex.ToString());
    362359      }
    363360    }
     
    379376          wcfService.UpdateJobState(task.Id, TaskState.Failed, exception.ToString());
    380377        }
    381         clientCom.LogMessage(exception.Message);
     378        SlaveClientCom.Instance.LogMessage(exception.Message);
    382379      }
    383380      catch (TaskNotFoundException ex) {
    384381        SlaveStatusInfo.IncrementExceptionOccured();
    385         clientCom.LogMessage(ex.ToString());
     382        SlaveClientCom.Instance.LogMessage(ex.ToString());
    386383      }
    387384      catch (Exception ex) {
    388385        SlaveStatusInfo.IncrementExceptionOccured();
    389         clientCom.LogMessage(ex.ToString());
     386        SlaveClientCom.Instance.LogMessage(ex.ToString());
    390387      }
    391388    }
     
    395392      SlaveStatusInfo.IncrementExceptionOccured();
    396393      heartbeatManager.AwakeHeartBeatThread();
    397       clientCom.LogMessage(string.Format("Exception occured for task {0}: {1}", e.Value.TaskId, e.Value2.ToString()));
     394      SlaveClientCom.Instance.LogMessage(string.Format("Exception occured for task {0}: {1}", e.Value.TaskId, e.Value2.ToString()));
    398395      wcfService.UpdateJobState(e.Value.TaskId, TaskState.Waiting, e.Value2.ToString());
    399396    }
     
    407404    private void log_MessageAdded(object sender, EventArgs<string> e) {
    408405      try {
    409         clientCom.LogMessage(e.Value.Split('\t')[1]);
     406        SlaveClientCom.Instance.LogMessage(e.Value.Split('\t')[1]);
    410407      }
    411408      catch { }
     
    417414    /// </summary>
    418415    private void DoAbortAll() {
    419       clientCom.LogMessage("Aborting all jobs.");
     416      SlaveClientCom.Instance.LogMessage("Aborting all jobs.");
    420417      foreach (Guid taskId in taskManager.TaskIds) {
    421418        AbortTaskAsync(taskId);
     
    427424    /// </summary>
    428425    private void DoPauseAll() {
    429       clientCom.LogMessage("Pausing all jobs.");
     426      SlaveClientCom.Instance.LogMessage("Pausing all jobs.");
    430427      foreach (Guid taskId in taskManager.TaskIds) {
    431428        PauseTaskAsync(taskId);
     
    437434    /// </summary>
    438435    private void DoStopAll() {
    439       clientCom.LogMessage("Stopping all jobs.");
     436      SlaveClientCom.Instance.LogMessage("Stopping all jobs.");
    440437      foreach (Guid taskId in taskManager.TaskIds) {
    441438        StopTaskAsync(taskId);
     
    457454    /// </summary>
    458455    private void ShutdownCore() {
    459       clientCom.LogMessage("Shutdown signal received");
    460       clientCom.LogMessage("Stopping heartbeat");
     456      SlaveClientCom.Instance.LogMessage("Shutdown signal received");
     457      SlaveClientCom.Instance.LogMessage("Stopping heartbeat");
    461458      heartbeatManager.StopHeartBeat();
    462459      abortRequested = true;
     
    464461      DoAbortAll();
    465462
    466       clientCom.LogMessage("Logging out");
     463      SlaveClientCom.Instance.LogMessage("Logging out");
    467464      WcfService.Instance.Disconnect();
    468       clientCom.Shutdown();
     465      SlaveClientCom.Instance.ClientCom.Shutdown();
    469466      SlaveClientCom.Close();
    470467
     
    478475    /// </summary> 
    479476    private void DoStartSlave() {
    480       clientCom.LogMessage("Restart received");
     477      SlaveClientCom.Instance.LogMessage("Restart received");
    481478      configManager.Asleep = false;
    482479    }
     
    487484    /// </summary>   
    488485    private void Sleep() {
    489       clientCom.LogMessage("Sleep received - not accepting any new jobs");
     486      SlaveClientCom.Instance.LogMessage("Sleep received - not accepting any new jobs");
    490487      configManager.Asleep = true;
    491488      DoPauseAll();
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/DummyListener.cs

    r6983 r7255  
    2626namespace HeuristicLab.Clients.Hive.SlaveCore {
    2727
    28   [CallbackBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant)]
     28  [CallbackBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant, UseSynchronizationContext = false)]
    2929  internal class DummyListener : ISlaveCommunicationCallbacks {
    3030
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/Executor.cs

    r6983 r7255  
    9191      catch (Exception e) {
    9292        this.CurrentException = e;
     93        taskDataInvalid = true;
    9394        Task_TaskFailed(this, new EventArgs<Exception>(e));
    94       }
    95       finally {
     95      } finally {
    9696        taskStartedSem.Set();
    9797      }
     
    188188      if (taskDataInvalid) return null;
    189189
    190       if (task.ExecutionState == ExecutionState.Started) {
     190      if (task != null && task.ExecutionState == ExecutionState.Started) {
    191191        throw new InvalidStateException("Task is still running");
    192192      } else {
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/Manager/ConfigManager.cs

    r6983 r7255  
    125125      }
    126126      catch (Exception ex) {
    127         SlaveClientCom.Instance.ClientCom.LogMessage(string.Format("Exception was thrown while trying to get execution times: {0}", ex.Message));
     127        SlaveClientCom.Instance.LogMessage(string.Format("Exception was thrown while trying to get execution times: {0}", ex.Message));
    128128      }
    129129      return prog;
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/Manager/HeartbeatManager.cs

    r6983 r7255  
    8282    private void RunHeartBeatThread() {
    8383      while (!threadStopped) {
    84         SlaveClientCom.Instance.ClientCom.StatusChanged(ConfigManager.Instance.GetStatusForClientConsole());
     84        try {
     85          SlaveClientCom.Instance.StatusChanged(ConfigManager.Instance.GetStatusForClientConsole());
     86        }
     87        catch (Exception ex) {
     88          EventLogManager.LogMessage("Couldn't sent status information to client ui. Exception is: " + Environment.NewLine + ex.ToString());
     89        }
    8590
    8691        try {
     
    104109              };
    105110
    106               SlaveClientCom.Instance.ClientCom.LogMessage("Send HB: " + heartBeatData);
     111              SlaveClientCom.Instance.LogMessage("Send HB: " + heartBeatData);
    107112              List<MessageContainer> msgs = wcfService.SendHeartbeat(heartBeatData);
    108113
    109114              if (msgs == null) {
    110                 SlaveClientCom.Instance.ClientCom.LogMessage("Error getting response from HB");
     115                SlaveClientCom.Instance.LogMessage("Error getting response from HB");
    111116                OnExceptionOccured(new Exception("Error getting response from HB"));
    112117              } else {
    113                 SlaveClientCom.Instance.ClientCom.LogMessage("HB Response received (" + msgs.Count + "): ");
    114                 msgs.ForEach(mc => SlaveClientCom.Instance.ClientCom.LogMessage(mc.Message.ToString()));
     118                SlaveClientCom.Instance.LogMessage("HB Response received (" + msgs.Count + "): ");
     119                msgs.ForEach(mc => SlaveClientCom.Instance.LogMessage(mc.Message.ToString()));
    115120                msgs.ForEach(mc => MessageQueue.GetInstance().AddMessage(mc));
    116121              }
     
    119124        }
    120125        catch (Exception e) {
    121           SlaveClientCom.Instance.ClientCom.LogMessage("Heartbeat thread failed: " + e.ToString());
     126          SlaveClientCom.Instance.LogMessage("Heartbeat thread failed: " + e.ToString());
    122127          OnExceptionOccured(e);
    123128        }
     
    125130      }
    126131      waitHandle.Close();
    127       SlaveClientCom.Instance.ClientCom.LogMessage("Heartbeat thread stopped");
     132      SlaveClientCom.Instance.LogMessage("Heartbeat thread stopped");
    128133    }
    129134
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/SlaveClientCom.cs

    r6983 r7255  
    2323using HeuristicLab.Clients.Hive.SlaveCore.Properties;
    2424using HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts;
     25using System;
    2526
    2627namespace HeuristicLab.Clients.Hive.SlaveCore {
     
    4445        }
    4546        return instance;
     47      }
     48    }
     49
     50    public void LogMessage(string message) {
     51      try {
     52        ClientCom.LogMessage(message);
     53      }
     54      catch (Exception ex) {
     55        EventLogManager.LogMessage("Exception on LogMessage: " + ex.ToString() + Environment.NewLine + "Orginal message was: " + message);
     56      }
     57    }
     58
     59    public void StatusChanged(StatusCommons status) {
     60      try {
     61        ClientCom.StatusChanged(status);
     62      }
     63      catch (Exception ex) {
     64        EventLogManager.LogMessage("Exception on StatusChanged: " + ex.ToString());
    4665      }
    4766    }
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/SlaveCommunicationService.cs

    r6983 r7255  
    2626
    2727namespace HeuristicLab.Clients.Hive.SlaveCore {
     28  [ServiceBehavior(UseSynchronizationContext = false)]
    2829  public class SlaveCommunicationService : ISlaveCommunication {
    2930    private static List<ISlaveCommunicationCallbacks> subscribers = new List<ISlaveCommunicationCallbacks>();
  • branches/RegressionBenchmarks/HeuristicLab.Clients.Hive.Slave/3.3/WcfService.cs

    r6983 r7255  
    4242        if (instance == null) {
    4343          instance = new WcfService();
    44           ServiceLocator.Instance.Username = HeuristicLab.Clients.Hive.SlaveCore.Properties.Settings.Default.SlaveUser;
    45           ServiceLocator.Instance.Password = HeuristicLab.Clients.Hive.SlaveCore.Properties.Settings.Default.SlavePwd;
     44          HiveServiceLocator.Instance.Username = HeuristicLab.Clients.Hive.SlaveCore.Properties.Settings.Default.SlaveUser;
     45          HiveServiceLocator.Instance.Password = HeuristicLab.Clients.Hive.SlaveCore.Properties.Settings.Default.SlavePwd;
    4646        }
    4747        return instance;
     
    161161    public void CallHiveService(Action<IHiveService> call) {
    162162      try {
    163         ServiceLocator.Instance.CallHiveService(call);
     163        HiveServiceLocator.Instance.CallHiveService(call);
    164164      }
    165165      catch (Exception ex) {
     
    170170    private T CallHiveService<T>(Func<IHiveService, T> call) {
    171171      try {
    172         return ServiceLocator.Instance.CallHiveService(call);
     172        return HiveServiceLocator.Instance.CallHiveService(call);
    173173      }
    174174      catch (Exception ex) {
Note: See TracChangeset for help on using the changeset viewer.