public void TestElasticsearchProfilingLogParser_LoadProfilingSession()
 {
     var target = new ElasticsearchProfilingLogParser(new Uri("http://10.128.34.153:9200/_search"));
     var firstSession = target.LoadLatestProfilingSessionSummaries(1).FirstOrDefault();
     if (firstSession != null)
     {
         var session = target.LoadProfilingSession(firstSession.Id);
         Console.WriteLine(JsonSerializer.SerializeToString(session));
     }
 }
Example #2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";

            context.Response.Write("<h2>Latest Profiling Results From Elasticsearch</h2><hr />");

            var server = context.Request.QueryString["server"];

            if (server == null)
            {
                return;
            }

            var logParser = new ElasticsearchProfilingLogParser(new Uri(server))
            {
                IgnoreDataFieldNames = new[] { "@timestamp", "@version", "executeType", "_viewInNanoProfilerUI", "queryType" }
            };

            var sessionId = context.Request.QueryString["id"];

            if (sessionId != null)
            {
                ProfilingSession.CircularBuffer = new CircularBuffer <ITimingSession>();
                var session = logParser.LoadSession(Guid.Parse(sessionId));
                ProfilingSession.CircularBuffer.Add(session);

                context.Response.Write("<a target=\"_blank\" href=\"./nanoprofiler/view/" + session.Id + "\">" + session.Name + "</a>, " + session.DurationMilliseconds + "ms @" + session.Started.ToString("s") + "<br />");
                return;
            }

            var sessions = logParser.LoadLatestSessionSummaries(10);

            if (sessions == null)
            {
                return;
            }

            foreach (var item in sessions)
            {
                var session = logParser.LoadSession(item.Id);
                if (session == null)
                {
                    continue;
                }

                if (ProfilingSession.CircularBuffer.All(s => s.Id != session.Id))
                {
                    ProfilingSession.CircularBuffer.Add(session);
                }

                context.Response.Write("<a target=\"_blank\" href=\"./nanoprofiler/view/" + session.Id + "\">" + session.Name + "</a>, " + session.DurationMilliseconds + "ms @" + session.Started.ToString("s") + "<br />");
            }
        }
 public void TestElasticsearchProfilingLogParser_LoadLatestProfilingSessionSummaries()
 {
     var target = new ElasticsearchProfilingLogParser(new Uri("http://10.128.34.153:9200/_search"));
     var sessions = target.LoadLatestProfilingSessionSummaries(10, 20);
     Console.WriteLine(JsonSerializer.SerializeToString(sessions));
 }