Пример #1
0
        private void Init()
        {
            if (_inited)
            {
                return;
            }

            // 自动从本地星尘代理获取地址
            if (Client == null)
            {
                try
                {
                    var client = new LocalStarClient();
                    var inf    = client.GetInfo();
                    if (!inf.Server.IsNullOrEmpty())
                    {
                        Client = new ApiHttpClient(inf.Server);
                    }
                }
                catch { }
            }

            var server = Client is ApiHttpClient http?http.Services.Join(",", e => e.Address) : (Client + "");

            WriteLog("StarTracer.Start AppId={0} ClientId={1} Server={2}", AppId, ClientId, server);

            _inited = true;
        }
Пример #2
0
        public void Info()
        {
            var client = new LocalStarClient();
            var inf    = client.GetInfo();

            Assert.NotNull(inf);
            Assert.NotEmpty(inf.Server);
        }
Пример #3
0
        static void Test5()
        {
            var rs = LocalStarClient.Scan();

            foreach (var item in rs)
            {
                XTrace.WriteLine(item.ToJson());
            }
        }
Пример #4
0
        static void Test3()
        {
            //foreach (Environment.SpecialFolder item in Enum.GetValues(typeof(Environment.SpecialFolder)))
            //{
            //    var v = Environment.GetFolderPath(item);
            //    Console.WriteLine("{0}:\t{1}", item, v);
            //}

            var client = new LocalStarClient();

            client.ProbeAndInstall(null, "1.1");
        }
Пример #5
0
        static void Test3()
        {
            //foreach (Environment.SpecialFolder item in Enum.GetValues(typeof(Environment.SpecialFolder)))
            //{
            //    var v = Environment.GetFolderPath(item);
            //    Console.WriteLine("{0}:\t{1}", item, v);
            //}

            var client = new LocalStarClient();

            client.ProbeAndInstall(null, "1.6");

            //var p = Process.GetCurrentProcess();
            //var name = p.MainModule.FileName;
            //var str = name + Environment.NewLine + name.ToJson();
            //str += Environment.NewLine + name.ToJson().ToJsonEntity<String>();

            //XTrace.WriteLine(str);
            //File.WriteAllText("aa.txt".GetFullPath(), str);
        }
Пример #6
0
        /// <summary>全局注册星尘性能追踪器</summary>
        /// <param name="server">星尘监控中心地址,为空时自动从本地探测</param>
        /// <returns></returns>
        public static StarTracer Register(String server = null)
        {
            if (server.IsNullOrEmpty())
            {
                var set = Setting.Current;
                server = set.Server;
            }
            if (server.IsNullOrEmpty())
            {
                var local = new LocalStarClient();
                var inf   = local.GetInfo();
                server = inf?.Server;

                if (!server.IsNullOrEmpty())
                {
                    XTrace.WriteLine("星尘探测:{0}", server);
                }
            }
            if (server.IsNullOrEmpty())
            {
                return(null);
            }

            if (Instance is StarTracer tracer && tracer.Client is ApiHttpClient)
            {
                return(tracer);
            }

            tracer = new StarTracer(server)
            {
                Log = XTrace.Log
            };
            tracer.AttachGlobal();

            return(tracer);
        }