示例#1
0
 private void TryIntializeService(OutProcConfigurationClient client, TimeSpan timeout, SessionTypes sessionType, IChannelFormatter channelFormatter)
 {
     try
     {
         TraceProvider traceProvider = EnableTracing ? new TraceProvider() : null;
         if (_port > 0 && _port < 65535)
         {
             client.Connect(_addressURI, _port, sessionType, channelFormatter);
         }
         else
         {
             client.Connect(_addressURI, sessionType);
         }
     }
     catch (Exception e)
     {
         if (retries-- > 0)
         {
             Start(timeout);
             System.Threading.Thread.Sleep(3000);
             TryIntializeService(client, timeout, sessionType, channelFormatter);
         }
         else
         {
             throw e;
         }
     }
     finally
     {
         retries = 3;
     }
 }
示例#2
0
        private void Initialize(string address, IChannelFormatter channelFormatter)
        {
            TraceProvider traceProvider = EnableTracing ? new TraceProvider() : null;

            //    ManagementHost.RegisterCompactTypes();
            if (string.IsNullOrEmpty(address))
            {
                address = NetworkUtil.GetLocalIPAddress().ToString();
            }
            //binding IP is null for ConfigClient
            _channel = new DualChannel(address, _port, null, _sessionType, traceProvider, channelFormatter);
            //_channel.RegisterRequestHandler(this);


            //RTD: whats the purpose of this?
            try
            {
                if (_channel.Connect(true))
                {
                    //string _sessionType = ((int)sessionType).ToString();
                    //_channel.SendMessage(_sessionType, true);
                }
            }
            catch (ChannelException ex)
            {
                //if (LoggerManager.Instance.CONDBLogger != null && LoggerManager.Instance.CONDBLogger.IsErrorEnabled)
                //    LoggerManager.Instance.CONDBLogger.Error("Error: OutprocConfigClient.Init()", ex.ToString());
                throw;
            }
        }
示例#3
0
        public static void Log(string message, TraceProvider.TraceSeverity severity, string category)
        {
            //string exeName = Assembly.GetExecutingAssembly().FullName;
            string exeName = "AIA.Intranet TraceProvider";

            TraceProvider.WriteTrace(0, severity, Guid.NewGuid(), exeName, "AIA.Intranet", category, message);
        }
示例#4
0
        public Payload GetPayload(string filePath)
        {
            Payload payLoadObject = new Payload();
            Stream  s             = new MemoryStream();

            using (HttpClient payloadClient = new HttpClient())
            {
                string trackingUri = adapterSettings["BaseAddressBiztrackApi"];
                payloadClient.BaseAddress = new Uri(trackingUri + "api/Track/Download?payloadPath=" + filePath);
                payloadClient.DefaultRequestHeaders.Accept.Clear();
                payloadClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
                payloadClient.DefaultRequestHeaders.Add("upn", trackingDataRequest.upn);

                try
                {
                    TraceProvider.WriteLine("Executing test suit run id {0}, downloading payload from {1}", testSuiteRunId, payloadClient.BaseAddress.AbsoluteUri);
                    HttpResponseMessage response = payloadClient.GetAsync("").Result;
                    if (response.IsSuccessStatusCode)
                    {
                        payLoadObject.Stream = response.Content.ReadAsStreamAsync().Result;
                    }
                }
                catch (Exception ex)
                {
                    TraceProvider.WriteLine("Executing test suit run id {0}, error while downloading payload from {1}. Error message is {2}", testSuiteRunId, payloadClient.BaseAddress.AbsoluteUri, ex.Message);
                }
            }

            return(payLoadObject);
        }
示例#5
0
        public void Init(HttpApplication context)
        {
            context.BeginRequest += (sender, args) =>
            {
                string url = HttpContext.Current.Request.Path;

                var zipkinConfig = new ZipkinConfig();

                var traceProvider = new TraceProvider(new System.Web.HttpContextWrapper(HttpContext.Current), zipkinConfig.DontSampleListCsv, zipkinConfig.ZipkinSampleRate);
                var logger        = new MDLogger(LogManager.GetLogger(this.GetType()), traceProvider, new AssemblyInformation());

                ITracerClient zipkinClient = new ZipkinClient(traceProvider, url, logger);

                zipkinClient.StartServerTrace();

                HttpContext.Current.Items["zipkinClient"] = zipkinClient;

                var stopwatch = new Stopwatch();
                HttpContext.Current.Items["zipkinStopwatch"] = stopwatch;
                stopwatch.Start();
            };

            context.EndRequest += (sender, args) =>
            {
                var stopwatch = (Stopwatch)HttpContext.Current.Items["zipkinStopwatch"];
                stopwatch.Stop();

                var zipkinClient = (ITracerClient)HttpContext.Current.Items["zipkinClient"];

                zipkinClient.EndServerTrace(stopwatch.Elapsed.Milliseconds * 1000);
            };
        }
        public void Init(HttpApplication context)
        {
            context.BeginRequest += (sender, args) =>
                {
                    string url = HttpContext.Current.Request.Path;

                    var zipkinConfig = new ZipkinConfig();

                    var traceProvider = new TraceProvider(new System.Web.HttpContextWrapper(HttpContext.Current), zipkinConfig.DontSampleListCsv, zipkinConfig.ZipkinSampleRate);
                    var logger = new MDLogger(LogManager.GetLogger(this.GetType()), traceProvider, new AssemblyInformation());

                    ITracerClient zipkinClient = new ZipkinClient(traceProvider, url, logger);

                    zipkinClient.StartServerTrace();

                    HttpContext.Current.Items["zipkinClient"] = zipkinClient;

                    var stopwatch = new Stopwatch();
                    HttpContext.Current.Items["zipkinStopwatch"] = stopwatch;
                    stopwatch.Start();
                };

            context.EndRequest += (sender, args) =>
                {
                    var stopwatch = (Stopwatch)HttpContext.Current.Items["zipkinStopwatch"];
                    stopwatch.Stop();

                    var zipkinClient = (ITracerClient)HttpContext.Current.Items["zipkinClient"];

                    zipkinClient.EndServerTrace(stopwatch.Elapsed.Milliseconds * 1000);
                };
        }
        public void ConstructorWithContextHavingAllIdValues()
        {
            // Arrange
            var fixture      = new Fixture();
            var traceId      = Convert.ToString(fixture.Create <long>(), 16);
            var spanId       = Convert.ToString(fixture.Create <long>(), 16);
            var parentSpanId = Convert.ToString(fixture.Create <long>(), 16);
            var isSampled    = fixture.Create <bool>();

            var context = MockRepository.GenerateStub <IOwinContext>();
            var request = MockRepository.GenerateStub <IOwinRequest>();
            var headers = new HeaderDictionary(new Dictionary <string, string[]>
            {
                { TraceProvider.TraceIdHeaderName, new [] { traceId } },
                { TraceProvider.SpanIdHeaderName, new [] { spanId } },
                { TraceProvider.ParentSpanIdHeaderName, new [] { parentSpanId } },
                { TraceProvider.SampledHeaderName, new [] { isSampled.ToString() } }
            });
            var environment = new Dictionary <string, object>();

            request.Stub(x => x.Headers).Return(headers);
            context.Stub(x => x.Request).Return(request);
            context.Stub(x => x.Environment).Return(environment);

            // Act
            var sut = new TraceProvider(new ZipkinConfig(), context);

            // Assert
            Assert.AreEqual(traceId, sut.TraceId);
            Assert.AreEqual(spanId, sut.SpanId);
            Assert.AreEqual(parentSpanId, sut.ParentSpanId);
            Assert.AreEqual(isSampled, sut.IsSampled);
        }
示例#8
0
        public void SetupExpectedOutputFiles(JEnumerable <JObject> masterObjects, IPublisher publisherObject)
        {
            foreach (JObject masterObject in masterObjects)
            {
                JEnumerable <JObject> detailObjects = GetDetailedTrackingRecords(masterObject);
                foreach (JObject detailObject in detailObjects)
                {
                    string masterId = masterObject.Property("ID").Value.ToString();
                    string detailId = detailObject.Property("ID").Value.ToString();
                    string postTransformFilepath = detailObject.Property("FilePath").Value.ToString();

                    try
                    {
                        var payLoadObject = GetPayload(postTransformFilepath);
                        if ((payLoadObject.Stream != null) && (payLoadObject.Stream.Length > 0))
                        {
                            payLoadObject.FileName = string.Format("{0}_{1}", masterId, detailId);
                            TraceProvider.WriteLine("Executing test suit run id {0}, Setting up expected file {1}", testSuiteRunId, payLoadObject.FileName);
                            publisherObject.Publish(payLoadObject);
                        }
                    }
                    catch (Exception ex)
                    {
                        TraceProvider.WriteLine("Executing test suit run id {0}, error while setting up expected files {1}", testSuiteRunId, ex.Message);
                    }
                }
            }
        }
示例#9
0
 protected override void Initialize()
 {
     AddProcess(Clocked, Clk, EnIn);
     if (_directFeed)
     {
         AddProcess(Comb0, EnIn, DIn, _stg);
     }
     else
     {
         AddProcess(Comb1, _stg);
     }
     if (EnableDiagnostics)
     {
         if (TraceProvider != null)
         {
             object[] trace = TraceProvider.QueryTrace(MappedVariable);
             _trace = trace.Select(data => Marshal.SerializeForHW(data)).ToArray();
             AddProcess(TraceMon, Clk, EnIn);
         }
         if (MappedVariable.Type.CILType.Equals(typeof(double)))
         {
             AddProcess(DiagMonDouble, Clk, EnIn);
         }
         else if (MappedVariable.Type.CILType.Equals(typeof(SFix)))
         {
             var fmt = (FixFormat)MappedVariable.Type.TypeParams[0];
             _fracWidth = fmt.FracWidth;
             AddProcess(DiagMonSFix, Clk, EnIn);
         }
     }
 }
        public void GetNext()
        {
            // Arrange
            var fixture      = new Fixture();
            var traceId      = Convert.ToString(fixture.Create <long>(), 16);
            var spanId       = Convert.ToString(fixture.Create <long>(), 16);
            var parentSpanId = Convert.ToString(fixture.Create <long>(), 16);
            var isSampled    = fixture.Create <bool>();

            var context = GenerateContext(
                traceId,
                spanId,
                parentSpanId,
                isSampled.ToString());

            var sut = new TraceProvider(new ZipkinConfig(), context);

            // Act
            var nextTraceProvider = sut.GetNext();

            // Assert
            Assert.AreEqual(sut.TraceId, nextTraceProvider.TraceId);
            Assert.IsTrue(Regex.IsMatch(nextTraceProvider.SpanId, regex64BitPattern));
            Assert.AreEqual(sut.SpanId, nextTraceProvider.ParentSpanId);
            Assert.AreEqual(sut.IsSampled, nextTraceProvider.IsSampled);
        }
        public void Constructor_AcceptingHeadersWithInvalidIdValues()
        {
            // Arrange
            var fixture      = new Fixture();
            var traceId      = fixture.Create <Guid>().ToString("N").Substring(1);
            var spanId       = fixture.Create <string>();
            var parentSpanId = fixture.Create <string>();
            var isSampled    = fixture.Create <string>();

            var context = GenerateContext(
                traceId,
                spanId,
                parentSpanId,
                isSampled);

            var expectedIsSampled = fixture.Create <bool>();
            var sampleFilter      = MockRepository.GenerateStub <IZipkinConfig>();

            sampleFilter.Expect(x => x.ShouldBeSampled(Arg.Is(isSampled), Arg <string> .Is.Anything)).Return(expectedIsSampled);

            // Act
            var sut = new TraceProvider(sampleFilter, context);

            // Assert
            Assert.AreNotEqual(traceId, sut.TraceId);
            Assert.AreNotEqual(spanId, sut.SpanId);
            Assert.AreEqual(string.Empty, sut.ParentSpanId);
            Assert.AreEqual(expectedIsSampled, sut.IsSampled);
        }
示例#12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        public void Main()
        {
            TraceListener debugListener = new MyTraceListener(rtf);

            //Debug.Listeners.Add(debugListener);
            Trace.Listeners.Add(debugListener);
            TraceProvider.WriteLine("ABTestPublisher {0} started", "Main Thread");
            GetApplicationSettings();

            var telemetryClient = Utility.GetTelemetryClient(HttpUtility.UrlDecode(appSettingDictionary["IntegrationAccountCallbackUrl"]), AppConstants.ApplicationName, appSettingDictionary["ApplicationLoggingLevel"]);

            List <JObject> testSuites = GetTestSuites();

            foreach (JObject testSuite in testSuites)
            {
                if (Convert.ToBoolean(testSuite["Enabled"].ToString()))
                {
                    if (testSuite["ABTestAdapterType"].ToString().ToUpper() == "AISABTESTADAPTER")
                    {
                        string testSuiteName = String.IsNullOrEmpty(testSuite["TestSuiteName"].ToString()) ? string.Empty : testSuite["TestSuiteName"].ToString();
                        TraceProvider.WriteLine("Executing test suite named {0} of type {1}", testSuiteName, testSuite["ABTestAdapterType"].ToString());
                        // rtf.AppendText(" started Main Thread");
                        rtf.Refresh();
                        AisABTestAdapter aisAdapter = new AisABTestAdapter(appSettingDictionary, telemetryClient);
                        aisAdapter.ExecuteABTest(testSuite);
                    }
                }
                else
                {
                    string testSuiteName = String.IsNullOrEmpty(testSuite["TestSuiteName"].ToString()) ? string.Empty : testSuite["TestSuiteName"].ToString();
                    TraceProvider.WriteLine("Test suit named {0} is not enabled", testSuiteName);
                }
            }
        }
示例#13
0
        /// <summary>
        /// Returns publisher object
        /// </summary>
        /// <param name="publisherType">filepublisher, logicapppublisher, blobpublisher</param>
        /// <param name="fileType"> Expected or Actual</param>
        private IPublisher GetMessagePublisher(string fileType)
        {
            IPublisher publisher = null;

            Dictionary <string, string> publisherSettings = JsonConvert.DeserializeObject <Dictionary <string, string> >(testSuite[fileType].ToString());

            if (publisherSettings[AppConstants.PublisherType].ToString().ToLower() == AppConstants.BlobPublisher)
            {
                Uri sasUriOfBlobContainer = new Uri(publisherSettings[AppConstants.BlobUri].ToString());
                publisher = new BlobPublisher(sasUriOfBlobContainer, adapterSettings["ContentType"]);
                TraceProvider.WriteLine("Executing test suit run id {0}, selected publisher is {1} with uri {2}", testSuiteRunId, AppConstants.BlobPublisher, sasUriOfBlobContainer.AbsoluteUri);
            }
            else if (publisherSettings[AppConstants.PublisherType].ToString().ToLower() == AppConstants.FilePublisher)
            {
                publisher = new FilePublisher(HttpUtility.UrlDecode(publisherSettings[AppConstants.FilePath]), adapterSettings["ContentType"]);
                TraceProvider.WriteLine("Executing test suit run id {0}, selected publisher is {1} with path {2}", testSuiteRunId, AppConstants.FilePublisher, HttpUtility.UrlDecode(publisherSettings[AppConstants.FilePath]));
            }
            else if (publisherSettings[AppConstants.PublisherType].ToString().ToLower() == AppConstants.LogicAppPublisher)
            {
                publisher = new LogicAppPublisher(testSuite, adapterSettings["ContentType"]);
                TraceProvider.WriteLine("Executing test suit run id {0}, selected publisher is {1}", testSuiteRunId, AppConstants.LogicAppPublisher);
            }
            else
            {
                TraceProvider.WriteLine("Executing test suit run id {0}, Publisher type is not configured in test suit for {1}", testSuiteRunId, fileType);
            }

            return(publisher);
        }
示例#14
0
        public static void Scan(RunTimeConfiguration rc,
                                APConfigParameter AP1Config24GHz,
                                APConfigParameter AP1Config5GHz,
                                APConfigParameter AP2Config24GHz,
                                APConfigParameter AP2Config5GHz,
                                SCAN_TEST_OPTIONS ScanTestOptions
                                )
        {
            TraceProvider traceProvider = new TraceProvider("ScanDriver");

            using (UsingGroup g = new UsingGroup())
            {
                traceProvider.TraceInformation("Scanning Scenarios Configuration ");

                WhckScanning hckScanning = new WhckScanning(rc,
                                                            AP1Config24GHz,
                                                            AP1Config5GHz,
                                                            AP2Config24GHz,
                                                            AP2Config5GHz,
                                                            ScanTestOptions);

                g.Add(hckScanning);

                hckScanning.Scan();
            }
        }
示例#15
0
        public void ExecuteABTest(JObject testSuiteToProcess)
        {
            testSuite = testSuiteToProcess;
            // Assigning unique testsuit run id
            testSuiteRunId = testSuite["TestSuiteName"].ToString() + "_" + Guid.NewGuid().ToString();

            //Identify the source of pre and post transform files for ABTest
            string source = String.IsNullOrEmpty(adapterSettings["FileSource"]) ? string.Empty : adapterSettings["FileSource"];


            switch (source.ToUpper())
            {
            case AppConstants.FilesourceFileShare:
                TraceProvider.WriteLine("Executing test suit run id {0} from source {1}", testSuiteRunId, AppConstants.FilesourceFileShare);
                ExecuteABtestFromFileshare();
                break;

            case AppConstants.FilesourceBizTrack:
                TraceProvider.WriteLine("Executing test suit run id {0} from source {1}", testSuiteRunId, AppConstants.FilesourceBizTrack);
                ExecuteABTestFromBizTrack();
                break;

            case AppConstants.FilesourceBlob:
                TraceProvider.WriteLine("Executing test suit run id {0} from source {1}", testSuiteRunId, AppConstants.FilesourceBlob);
                ExecuteABTestFromBlob();
                break;

            default:
                TraceProvider.WriteLine("Executing test suit run id {0} from source {1}", testSuiteRunId, "FileSource not defined");
                break;
            }
        }
示例#16
0
        /// <summary>
        ///
        /// </summary>
        private static void GetApplicationSettings()
        {
            TraceProvider.WriteLine("Reading all application settings", string.Empty);
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            KeyValueConfigurationCollection settings = config.AppSettings.Settings;

            appSettingDictionary = settings.AllKeys.ToDictionary(key => key, key => settings[key].Value);
        }
        public void ConstructorWithNullContext()
        {
            // Arrange & Act
            var traceProvider = new TraceProvider(new ZipkinConfig());

            // Assert
            Assert.AreEqual(traceProvider.TraceId, traceProvider.SpanId);
            Assert.AreEqual(string.Empty, traceProvider.ParentSpanId);
            Assert.AreEqual(false, traceProvider.IsSampled);
        }
示例#18
0
        public void DependecyInjectionTest()
        {
            TraceProvider provider = new TraceProvider();

            Assert.AreEqual <int>(0, provider._callStack.Count);
            repo = new DataRepository(provider);
            Assert.AreEqual <int>(1, provider._callStack.Count);
            Assert.AreEqual <int>("Fill".GetHashCode(), provider._callStack[0]);
            repo = new DataRepository(provider);
            Assert.AreEqual <int>(2, provider._callStack.Count);
        }
示例#19
0
        public ComponentTraceProvider(string componentName, Guid componentGuid)
        {
            Guard.ArgumentNotNullOrEmptyString(componentName, "componentName");
            Guard.ArgumentNotDefaultValue <Guid>(componentGuid, "componentGuid");

            this.componentName = componentName;
            this.componentGuid = componentGuid;

            this.traceProvider = new TraceProvider(componentName, componentGuid);
            this.highResTimer  = new HighResTimer();
        }
示例#20
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private static List <JObject> GetTestSuites()
        {
            Uri abTestSuiteBlobContainerUri = new Uri(HttpUtility.UrlDecode(appSettingDictionary["ABTestSuiteBlobContainerSASToken"]));

            TraceProvider.WriteLine("Reading test suites to be executed from {0}", abTestSuiteBlobContainerUri.AbsoluteUri);
            IReader blobReader = new BlobReader(abTestSuiteBlobContainerUri);
            var     testSuites = blobReader.GetJsonBlobs();

            TraceProvider.WriteLine("Number of test suites found = {0}", testSuites.Count);
            return(testSuites);
        }
示例#21
0
        private void TraceMessage(TraceProvider etwTraceProvider, uint traceLevel, string format, params object[] parameters)
        {
            if (etwTraceProvider != null && etwTraceProvider.IsEnabled)
            {
                if (parameters == null)
                {
                    etwTraceProvider.TraceMessage(traceLevel, format);
                }
                else
                {
                    switch (parameters.Length)
                    {
                    case 0:
                        etwTraceProvider.TraceMessage(traceLevel, format);
                        return;

                    case 1:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0]);
                        return;

                    case 2:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1]);
                        return;

                    case 3:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1], parameters[2]);
                        return;

                    case 4:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1], parameters[2], parameters[3]);
                        return;

                    case 5:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1], parameters[2], parameters[3], parameters[4]);
                        return;

                    case 6:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1], parameters[2], parameters[3], parameters[4], parameters[5]);
                        return;

                    case 7:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1], parameters[2], parameters[3], parameters[4], parameters[5], parameters[6]);
                        return;

                    case 8:
                        etwTraceProvider.TraceMessage(traceLevel, format, parameters[0], parameters[1], parameters[2], parameters[3], parameters[4], parameters[5], parameters[6], parameters[7]);
                        return;

                    default:
                        throw new ArgumentOutOfRangeException("parameters", parameters.Length, String.Format(CultureInfo.InvariantCulture, ExceptionMessages.ParameterListTooLong, 8));
                    }
                }
            }
        }
示例#22
0
    //
    // This method shows how to use WinTraceProvider.TraceMessage()
    //

    static void DebugTracingSample()
    {
        //Create an instance of WinTraceProvider and provide the GUID for the executable
        //of which this class will be a part.
        TraceProvider MyProvider = new TraceProvider("SimpleExample App", new Guid("{8C8AC55E-834E-49cb-B993-75B69FBF6D97}"));

        string  frmtstr     = "Hello {0}";
        string  frmtstr2    = "Arg0 = {0} Arg1 = {1}";
        string  frmtstr3    = "Arg0 ={0} Arg1 = {1} Arg2 = {2}";
        bool    bool_v      = false;
        byte    byte_v      = (byte)99;
        sbyte   sbyte_v     = (sbyte)-114;
        short   short_v     = (short)-54;
        ushort  ushort_v    = (ushort)5000;
        int     int_v       = -654;
        uint    uint_v      = (uint)12345;
        long    long_v      = (long)-98765;
        ulong   ulong_v     = (ulong)1234567;
        string  string_v    = "MS World!!!!";
        char    char_v      = 'G';
        decimal decimal_v   = (decimal)200.876543243213D;
        object  decimal_obj = decimal_v;
        double  double_v    = (double)3.00;
        float   float_v     = 2.00F;
        long    tel_no      = 4254944885;

        /** TraceMessages for all the types that are currently supported **/
        MyProvider.TraceMessage((uint)TraceFlags.Info, frmtstr, bool_v);
        MyProvider.TraceMessage((uint)TraceFlags.Info, frmtstr, byte_v);
        MyProvider.TraceMessage(1, frmtstr, sbyte_v);
        MyProvider.TraceMessage(1, frmtstr, short_v);
        MyProvider.TraceMessage(1, frmtstr, ushort_v);
        MyProvider.TraceMessage(1, frmtstr, int_v);
        MyProvider.TraceMessage(1, frmtstr, uint_v);
        MyProvider.TraceMessage(1, frmtstr, long_v);
        MyProvider.TraceMessage(1, frmtstr, ulong_v);
        MyProvider.TraceMessage(1, frmtstr, float_v);
        MyProvider.TraceMessage(1, frmtstr, double_v);
        MyProvider.TraceMessage(1, frmtstr, decimal_v);
        MyProvider.TraceMessage(1, frmtstr, char_v);
        MyProvider.TraceMessage(1, frmtstr, string_v);
        MyProvider.TraceMessage(1, frmtstr2, uint_v, byte_v);
        MyProvider.TraceMessage(1, frmtstr3, decimal_v, float_v, long_v);

        /** Composite  formatting **/
        MyProvider.TraceMessage(1, "Composite formatting of a long {0: (###)###-####}", tel_no);
        MyProvider.TraceMessage(1, "Composite formatting of a string: Hello |{0,30}|", string_v);
        MyProvider.TraceMessage(1, frmtstr3, decimal_v, null, string_v);
    }
示例#23
0
文件: Trace.cs 项目: zx597855313/wpf
        static EventTrace()
        {
            Guid providerGuid = new Guid("E13B77A8-14B6-11DE-8069-001B212B5009");

            if (Environment.OSVersion.Version.Major < 6 ||
                IsClassicETWRegistryEnabled())
            {
                EventProvider = new ClassicTraceProvider();
            }
            else
            {
                EventProvider = new ManifestTraceProvider();
            }
            EventProvider.Register(providerGuid);
        }
示例#24
0
        public void PostTestFilesToNewSystem(JEnumerable <JObject> masterObjects, IPublisher publisherObject)
        {
            foreach (JObject masterObject in masterObjects)
            {
                string controlNumber        = masterObject.Property("ControlNumber").Value.ToString();
                string id                   = masterObject.Property("ID").Value.ToString();
                string preTransformFilepath = masterObject.Property("FilePath").Value.ToString();

                try
                {
                    var payLoadObject = GetPayload(preTransformFilepath);

                    if ((payLoadObject.Stream != null) && (payLoadObject.Stream.Length > 0))
                    {
                        payLoadObject.FileName = string.Format("{0}_{1}", id, controlNumber);

                        TraceProvider.WriteLine("Executing test suit run id {0}, Posting pre-transform file to LA {1}", testSuiteRunId, payLoadObject.FileName);
                        publisherObject.Publish(payLoadObject);

                        if (publisherObject.GetType().ToString() == "ABTestAdapter.Publishers.LogicAppPublisher")
                        {
                            HttpHeaders          responseheaders = ((LogicAppPublisher)publisherObject).LogicAppResponse.Headers;
                            IEnumerable <string> values;

                            if (responseheaders.TryGetValues("correlationTrackingId", out values))
                            {
                                trackingId = values.First();
                            }
                            else if (responseheaders.TryGetValues("x-ms-client-tracking-id", out values))
                            {
                                trackingId = values.First();
                            }
                        }
                        else
                        {
                            trackingId = payLoadObject.FileName;
                        }

                        RaisePublisherEvent(payLoadObject);
                    }
                }
                catch (Exception ex)
                {
                    TraceProvider.WriteLine("Executing test suit run id {0}, Error posting pre-transform file to LA {1}", testSuiteRunId, ex.Message);
                }
            }
        }
        public void Constructor_GeneratingNew128BitTraceId()
        {
            // Arrange
            var config = new ZipkinConfig
            {
                Create128BitTraceId = true
            };

            // Arrange & Act
            var traceProvider = new TraceProvider(config);

            // Assert
            Assert.IsTrue(Regex.IsMatch(traceProvider.TraceId, regex128BitPattern));
            Assert.IsTrue(Regex.IsMatch(traceProvider.SpanId, regex64BitPattern));
            Assert.AreEqual(string.Empty, traceProvider.ParentSpanId);
            Assert.AreEqual(false, traceProvider.IsSampled);
        }
示例#26
0
        public ZipkinClient(IZipkinConfig zipkinConfig, IOwinContext context, SpanCollector collector = null)
        {
            if (zipkinConfig == null)
            {
                throw new ArgumentNullException(nameof(zipkinConfig));
            }
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            var traceProvider = new TraceProvider(zipkinConfig, context);

            IsTraceOn = !zipkinConfig.Bypass(context.Request) && IsTraceProviderSamplingOn(traceProvider);

            if (!IsTraceOn)
            {
                return;
            }

            zipkinConfig.Validate();
            ZipkinConfig = zipkinConfig;
            this.logger  = LogProvider.GetCurrentClassLogger();

            try
            {
                spanCollector = collector ?? GetInstance(
                    zipkinConfig.ZipkinBaseUri,
                    zipkinConfig.SpanProcessorBatchSize);

                spanCollector.Start();

                spanTracer = new SpanTracer(
                    spanCollector,
                    new ServiceEndpoint(),
                    zipkinConfig.NotToBeDisplayedDomainList,
                    zipkinConfig.Domain(context.Request));

                TraceProvider = traceProvider;
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, () => "Error Building Zipkin Client Provider", ex);
                IsTraceOn = false;
            }
        }
示例#27
0
        private static TraceProvider GetTraceProvider(Guid providerGuid)
        {
            TraceProvider traceProvider = null;

            if (!traceProviderCache.TryGetValue(providerGuid, out traceProvider))
            {
                lock (traceProviderCacheLock)
                {
                    if (!traceProviderCache.TryGetValue(providerGuid, out traceProvider))
                    {
                        traceProvider = new TraceProvider(AppDomain.CurrentDomain.SetupInformation.ApplicationName, providerGuid);
                        traceProviderCache.Add(providerGuid, traceProvider);
                    }
                }
            }

            return(traceProvider);
        }
示例#28
0
        public void PostTestFilesToNewSystem(string directorypath, IPublisher publisherObject)
        {
            ReadAllFiles(directorypath);

            TraceProvider.WriteLine("Executing test suit run id {0}, Posting actual files to new system. Number of files posted are {1}", testSuiteRunId, fileCollection.Count);

            foreach (var payload in fileCollection)
            {
                if ((payload.Stream != null) && (payload.Stream.Length > 0))
                {
                    payload.FileName = string.Format("{0}", payload.FileName);
                    try
                    {
                        publisherObject.Publish(payload);

                        if (publisherObject.GetType().ToString() == "ABTestAdapter.Publishers.LogicAppPublisher")
                        {
                            HttpHeaders          responseheaders = ((LogicAppPublisher)publisherObject).LogicAppResponse.Headers;
                            IEnumerable <string> values;

                            if (responseheaders.TryGetValues("correlationTrackingId", out values))
                            {
                                trackingId = values.First();
                            }
                            else if (responseheaders.TryGetValues("x-ms-client-tracking-id", out values))
                            {
                                trackingId = values.First();
                            }
                        }
                        else
                        {
                            trackingId = payload.FileName;
                        }
                    }
                    catch (Exception ex)
                    {
                        TraceProvider.WriteLine("Executing test suit run id {0}, error while writing actual file named {1}, error description is {2}", testSuiteRunId, payload.FileName, ex.Message);
                    }
                    RaisePublisherEvent(payload);
                }
            }
        }
示例#29
0
        private void RaisePublisherEvent(Payload payLoadObject)
        {
            omsEvent = new Dictionary <string, string>();
            string testSuiteName = testSuite["TestSuiteName"].ToString();

            omsEvent.Add("testsuitname", testSuiteName);
            omsEvent.Add("testsuitrunid", testSuiteRunId);
            omsEvent.Add("messagetrackingid", trackingId);
            omsEvent.Add("testfilename", payLoadObject.FileName);
            omsEvent.Add("eventTime", DateTime.UtcNow.ToLocalTime().ToString());
            omsEvent.Add("testcasestobevalidated", testSuite["TestCase"].ToString());

            this.telemetryClient.TrackTrace(
                AppConstants.ApplicationName,
                trackingId,
                JsonConvert.SerializeObject(omsEvent, Formatting.Indented),
                SeverityLevel.Informational);

            TraceProvider.WriteLine("Executing test suit run id {0}, OMS event {1} triggered with tracking id {2} and event source {3}", testSuiteRunId, JsonConvert.SerializeObject(omsEvent, Formatting.Indented), trackingId, AppConstants.ApplicationName);
        }
示例#30
0
 private void CreateTrackingDataRequest(JObject testSuite)
 {
     trackingDataRequest = new BizTrackApiRequest();
     try
     {
         trackingDataRequest.partners                  = testSuite["Partners"].ToString().Split('|').ToList <string>();
         trackingDataRequest.transactions              = testSuite["Transactions"].ToString().Split('|').ToList <string>();
         trackingDataRequest.masterFilter.Partners     = trackingDataRequest.partners;
         trackingDataRequest.masterFilter.Transactions = trackingDataRequest.transactions;
         trackingDataRequest.masterFilter.StartDate    = DateTime.Parse(testSuite["StartDate"].ToString());
         trackingDataRequest.masterFilter.EndDate      = DateTime.Parse(testSuite["EndDate"].ToString());
         trackingDataRequest.upn               = adapterSettings["Upn"];
         trackingDataRequest.baseUri           = adapterSettings["BaseAddressBiztrackApi"];
         trackingDataRequest.relativeUriMaster = adapterSettings["RelativeAddressResourceMaster"];
     }
     catch (Exception ex)
     {
         TraceProvider.WriteLine("Executing test suit run id {0}, error while creating BizTrack api request. Error description is {1}", testSuiteRunId, ex.Message);
     }
 }
        public void Constructor_HavingTraceProviderInContext()
        {
            // Arrange
            var context           = MockRepository.GenerateStub <IOwinContext>();
            var providerInContext = MockRepository.GenerateStub <ITraceProvider>();
            var environment       = new Dictionary <string, object>
            {
                { "Medidata.ZipkinTracer.Core.TraceProvider", providerInContext }
            };

            context.Stub(x => x.Environment).Return(environment);

            // Act
            var sut = new TraceProvider(new ZipkinConfig(), context);

            // Assert
            Assert.AreEqual(providerInContext.TraceId, sut.TraceId);
            Assert.AreEqual(providerInContext.SpanId, sut.SpanId);
            Assert.AreEqual(providerInContext.ParentSpanId, sut.ParentSpanId);
            Assert.AreEqual(providerInContext.IsSampled, sut.IsSampled);
        }
示例#32
0
文件: Trace.cs 项目: JianwenSun/cc
        static EventTrace()
        {
            Guid providerGuid = new Guid("E13B77A8-14B6-11DE-8069-001B212B5009");

            if (Environment.OSVersion.Version.Major < 6 ||
                IsClassicETWRegistryEnabled())
            {
                EventProvider = new ClassicTraceProvider();
            }
            else
            {
                EventProvider = new ManifestTraceProvider();
            }
            EventProvider.Register(providerGuid);
        }