Example #1
0
    private static double GetAppleElapsedRealtime()
    {
#if UNITY_IOS
        long elapsedTime = Uptime.RequestiOSDeviceUptime();
        Debug.Log("elapsedTime:" + elapsedTime);
        return(elapsedTime);
#else
        return(-1);
#endif
    }
Example #2
0
        private void RefreshBootTime()
        {
            if (refreshCount % 3 != 0)
            {
                return;
            }
            var uptime   = new Uptime(Device, executor);
            var span     = TimeSpan.FromSeconds(uptime.GetRunningSeconds());
            var lastboot = DateTime.Now - span;

            LastReboot = string.Format("{0:F}", lastboot);
            BootTime   = $"{(int)span.TotalHours}:{span.Minutes}:{span.Seconds}";
        }
Example #3
0
        public async Task StopUptimeAsync(string reason)
        {
            if (CurrentUptime == null)
            {
                return;
            }

            CurrentUptime.Ended   = DateTime.UtcNow;
            CurrentUptime.LastLog = string.Join("\n", _stack);
            CurrentUptime.Reason  = reason;
            await CurrentUptime.SaveAsync(DbContext);

            CurrentUptime = null;
        }
Example #4
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (Uptime != null)
         {
             hashCode = hashCode * 59 + Uptime.GetHashCode();
         }
         if (Downtime != null)
         {
             hashCode = hashCode * 59 + Downtime.GetHashCode();
         }
         return(hashCode);
     }
 }
Example #5
0
 private void mainServerButton_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
 {
     if (mainServerButton.Value == 0)
     {
         mainServerSignal.Color = Colors.OrangeRed;
         StatusManager.PushMessage("Stopping Tutor Server Server...");
         MainServer.Stop();
         Uptime.Reset();
         //Add  command to stop server.
         return;
     }
     mainServerSignal.Color = Colors.LightGreen;
     //Add Command to start server
     Uptime.Start();
     StatusManager.PushMessage("Starting Tutor Server Server...");
     MainServer.Start();
 }
        public UptimeResponse Any(Uptime request)
        {
            var startTime = ServiceStackHost.Instance.StartedAt;
            var endTime = DateTime.UtcNow.ToUniversalTime();
            var t = TimeSpan.FromMilliseconds(endTime.Subtract(startTime).TotalMilliseconds);

            return new UptimeResponse
            {
                StartedAt = startTime.ToString(),
                CurrentTime = endTime.ToString(),
                Duration = "{0}{1}{2}{3}{4}".Fmt(
                            t.Days == 0 ? "" : string.Concat(t.Days, " Days "),
                            t.Hours == 0 ? "" : string.Concat(t.Hours, " Hours "),
                            t.Minutes == 0 ? "" : string.Concat(t.Minutes, " Minutes "),
                            t.Seconds == 0 ? "" : string.Concat(t.Seconds, " Seconds "),
                            t.Milliseconds == 0 ? "" : string.Concat(t.Milliseconds, " Milliseconds "))
            };
        }
Example #7
0
        private static (Uptime, NodeType) GetTimes(DalamudPluginInterface pi, uint nodeId)
        {
            var timeSheet = pi.Data.GetExcelSheet <GatheringPointTransient>();
            var hours     = timeSheet.GetRow(nodeId);

            // Check for ephemeral nodes
            if (hours.GatheringRarePopTimeTable.Row == 0)
            {
                var time = new Uptime(hours.EphemeralStartTime, hours.EphemeralEndTime);
                return(time.AlwaysUp() ? (time, NodeType.Regular) : (time, NodeType.Ephemeral));
            }
            // and for unspoiled
            else
            {
                var time = new Uptime(hours.GatheringRarePopTimeTable.Value);
                return(time.AlwaysUp() ? (time, NodeType.Regular) : (time, NodeType.Unspoiled));
            }
        }
Example #8
0
        public Dictionary <string, string> GetSystemInformation()
        {
            using var sshClient = SshManager.CreateSshClient(System);
            using var dbContext = DbContextFactory.CreateDbContext();
            var hasNotFinishedScheduledActions = dbContext.ScheduledActions.SystemHasNotFinishedUpdate(System);

            var packagesActions = ActionsProvider.GetPackagesActions(sshClient, hasNotFinishedScheduledActions).ToList();

            var vulnerablePackages = Audit.GetVulnerablePackages(sshClient);
            var systemUpdateInfo   = SystemUpdate.GetUpdateInfo(sshClient);

            System.PackageActions           = packagesActions.Count;
            System.HasSystemUpdateAvailable = systemUpdateInfo.HasUpdate;
            System.UpdatesFetchedAt         = DateTime.Now;

            if (!string.IsNullOrEmpty(vulnerablePackages?.Trim()))
            {
                System.AddProblem("Found vulnerable packages!!!");
            }

            var result = new Dictionary <string, string>
            {
                { "Hostname", new Hostname().GetHostname(sshClient) },
                { "Logged users", Uptime.CurrentLoggedUsers(sshClient) },
                {
                    "Kernel\nUserland\nRunning",
                    $"{SystemVersion.GetKernel(sshClient)}{SystemVersion.GetUserland(sshClient)}{SystemVersion.GetRunning(sshClient)}"
                },
                { "Vulnerable packages", vulnerablePackages },
                { $"Packages actions ({System.PackageActions})", string.Join("\n", packagesActions) },
            };

            if (System.HasSystemUpdateAvailable)
            {
                result.Add("Has system update", System.HasSystemUpdateAvailable.ToString());
            }

            return(result);
        }
Example #9
0
        /// <summary>
        /// Returns true if AvailabilityMetrics instances are equal
        /// </summary>
        /// <param name="other">Instance of AvailabilityMetrics to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(AvailabilityMetrics other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Uptime == other.Uptime ||
                     Uptime != null &&
                     Uptime.Equals(other.Uptime)
                     ) &&
                 (
                     Downtime == other.Downtime ||
                     Downtime != null &&
                     Downtime.Equals(other.Downtime)
                 ));
        }
 public WeatherListing(Weather weather, DateTime time)
 {
     Weather = weather;
     Time    = time.ToUniversalTime();
     Uptime  = new Uptime(time);
 }
Example #11
0
 public Task <int> StopAllUptimeAsync() => Uptime.EndAllAsync(DbContext);
Example #12
0
    public string mainLoop(int startTime)
    {
        Information information = new Information();
         ChannelActions ChanActs = new ChannelActions();
         ChanModes mode = new ChanModes();
         Loader load = new Loader();
         CTCP ctcp = new CTCP();
         UserControl users = new UserControl();
         httpRegex = new Regex(@"(?:http://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?)|(?:ftp://(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*))*)))");
         try
         {

         ThreadStart userThreadStart = new ThreadStart(users.userControl);
         Thread userThread = new Thread(userThreadStart);
         userThread.Start();
         }
         catch (Exception e)
         {
         Console.WriteLine(e.ToString());
         }

         while (true)
         {
         while ((inputLine = reader.ReadLine()) != null)
         {
             Console.WriteLine(inputLine);

             if (inputLine.IndexOf("376") >= 0) //End of MOTD
             {
                 writer.WriteLine("JOIN " + channel);
                 writer.Flush();

          }
             else
                 break;

             while ((inputLine = reader.ReadLine()) != null)
             {
                 Console.WriteLine(inputLine);

                 if (ctcp.isCTCP())
                     ctcp.processCTCPType();

                 else if (inputLine == ("PING :" + server))
                 {
                     writer.WriteLine("PONG " + server);
                     writer.Flush();
                 }

                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": op me") >= 0 && information.sender() == owner)
                 {
                     mode.setMode("+o", owner);
                 }

                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": op") >= 0)
                 {
                     string realSender = information.sender();
                     string realMsg = information.msg();
                     information.sendNamesToSrv();
                     inputLine = reader.ReadLine();
                     if (information.isOped(realSender) || information.sender() == owner && information.senderHost() == ownerhost)
                         mode.setMode("+o", realMsg.Substring(nick.Length + 5));

                 }

                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": voice me") >= 0 || inputLine.ToLower().IndexOf(nick.ToLower() + ": voice ") >= 0)
                 {
                     mode.setMode("+v", information.sender());
                 }

                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": uptime") >= 0)
                 {
                     Uptime uptime = new Uptime();
                     uptime.uptime(startTime);

                 }

                 else if (inputLine.IndexOf("PART " + channel) >= 0)
                 {
                     users.userPart();

                 }

                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": die") >= 0 && information.sender() == owner)
                 {
                     writer.WriteLine("QUIT :My master killed me");
                     writer.Flush();
                     cleanup();

                     return "ok";
                 }
                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": topic") >=0  && information.sender() == owner)
                 {
                     mode.setTopic();
                 }
                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": !load") >= 0 && information.sender() == owner)
                 {

                     load.createAD("load");

                 }
                 else if (inputLine.ToLower().IndexOf(nick.ToLower() + ": !unload") >= 0 && information.sender() == owner)
                 {

                     load.createAD("unload");

                 }

                else if (Regex.IsMatch(inputLine, httpRegex.ToString()) && information.sender() != nick)
                 {

                     HttpHeader hh = new HttpHeader();
                     ThreadStart thStart = new ThreadStart(hh.processHeader);
                     Thread th = new Thread(thStart);
                     th.Start();

                 }

                 if (inputLine.StartsWith("ERROR"))
                 {
                     Console.WriteLine(inputLine);
                     return "error";

                 }

             }
         }
         }
    }
Example #13
0
 public async Task StartUptimeAsync()
 {
     _stack.Clear();
     CurrentUptime = new Uptime();
     await CurrentUptime.SaveAsync(DbContext);
 }
 public override string ToString() =>
 $"{displayName}, Viewers={viewers}, Uptime={Uptime.ToString("hh'h 'mm'm 'ss's'")}";
Example #15
0
 public override string ToString()
 {
     return($"{GetGuild().Name} (Users: {GetGuild().MemberCount}, Plugins: {Plugins.GetActivePlugins().Length}, Uptime {Uptime.ToString("%d\\:%h", CultureInfo.InvariantCulture)})");
 }
Example #16
0
        /// <summary>
        /// Ottiene un Master valorizzato coi valori ottenuti direttamente dal sistema operativo
        /// Potrebbe non corrispondere al Master salvato
        /// Viene utilizzato per ottenere le differenze tra i parametri salvati e quelli effettivamente applicati
        /// </summary>
        /// <returns></returns>
        public static MachineStatus GetRunning()
        {
            //var STOPWATCH = new System.Diagnostics.Stopwatch();
            //STOPWATCH.Start();
            var master = new MachineStatus();

            master.Info.Uptime    = Uptime.Get();
            master.Info.CpuInfo   = CpuInfo.Get();
            master.Info.MemInfo   = MemInfo.Get();
            master.Info.Free      = Free.Get();
            master.Info.Losetup   = Losetup.Get();
            master.Info.DiskUsage = DiskUsage.Get();
            master.Info.Versions  = Versioning.Get();

            master.Host     = Hostnamectl.Get();
            master.TimeDate = new TimeDate()
            {
                Timezone = Timedatectl.Get().Timezone
            };
            master.Boot = new Boot();
            var modules     = Mod.Get();
            var bootModules = new SystemModule[modules.Length];

            for (var i = 0; i < modules.Length; i++)
            {
                bootModules[i] = new SystemModule()
                {
                    Module = modules[i].Module, Active = true
                };
            }
            master.Boot.Modules           = bootModules;
            master.Boot.Services          = cmds.Systemctl.GetAll();
            master.Boot.Parameters        = Sysctl.Get();
            master.Users.SystemUsers      = Passwd.Get();
            master.Users.ApplicativeUsers = new ApplicativeUser[] { new ApplicativeUser()
                                                                    {
                                                                        Active = true, Type = AuthenticationType.simple, Id = "master", Claims = new[] { SHA.Generate("master") }
                                                                    } };

            master.Network.KnownDns          = Dns.GetResolv();
            master.Network.KnownHosts        = Dns.GetHosts();
            master.Network.KnownNetworks     = Dns.GetNetworks();
            master.Network.Bridges           = Brctl.Get();
            master.Network.Bonds             = Bond.Get();
            master.Network.NetworkInterfaces = cmds.Network.Get();
            master.Network.RoutingTables     = Route.GetRoutingTable();
            master.Network.Routing           = Route.Get();

            master.NsSwitch = NS.Switch.Get();

            master.Storage.Mounts       = Mount.Get();
            master.Storage.Zpools       = Zpool.GetPools();
            master.Storage.ZfsDatasets  = Zfs.GetDatasets();
            master.Storage.ZfsSnapshots = Zfs.GetSnapshots();

            master.Services.Ssh.PublicKey     = Ssh.GetRootPublicKey();
            master.Services.Ssh.PrivateKey    = Ssh.GetRootPrivateKey();
            master.Services.Ssh.AuthorizedKey = Ssh.GetAuthorizedKey();

            master.Services.Virsh.Domains = Virsh.GetDomains();

            //ConsoleLogger.Log($"[conf] loaded running conf ({STOPWATCH.ElapsedMilliseconds})");
            return(master);
        }
Example #17
0
 public Uptime Overlap(Uptime rhs)
 => new(_hours & rhs._hours);
Example #18
0
        public override RestResponse OnGet(Query query)
        {
            var history = Uptime.GetHistoryAsync(DbContext, query.GetInt("count", 10)).Result;

            return(new RestResponse(RestStatus.OK, res: history));
        }