private static void WriteDashboardData(JsonTextWriter writer, HystrixDashboardStream.DashboardData data)
        {
            try
            {
                writer.WriteStartArray();
                foreach (HystrixCommandMetrics commandMetrics in data.CommandMetrics)
                {
                    WriteCommandMetrics(writer, commandMetrics);
                }

                foreach (HystrixThreadPoolMetrics threadPoolMetrics in data.ThreadPoolMetrics)
                {
                    WriteThreadPoolMetrics(writer, threadPoolMetrics);
                }

                foreach (HystrixCollapserMetrics collapserMetrics in data.CollapserMetrics)
                {
                    WriteCollapserMetrics(writer, collapserMetrics);
                }

                writer.WriteEndArray();
            }
            catch (Exception)
            {
                // Log
            }
        }
Example #2
0
        private static void WriteCommandData(HystrixDashboardStream.DashboardData data, IDiscoveryClient discoveryClient, List <string> jsonList)
        {
            try
            {
                var localService = discoveryClient?.GetLocalServiceInstance();

                foreach (HystrixCommandMetrics commandMetrics in data.CommandMetrics)
                {
                    using (StringWriter sw = new StringWriter())
                    {
                        using (JsonTextWriter writer = new JsonTextWriter(sw))
                        {
                            writer.WriteStartObject();
                            WriteLocalService(writer, localService);
                            writer.WriteObjectFieldStart("data");
                            WriteCommandMetrics(writer, commandMetrics, localService);
                            writer.WriteEndObject();
                            writer.WriteEndObject();
                        }

                        jsonList.Add(sw.ToString());
                    }
                }
            }
            catch (Exception)
            {
                // Log
            }
        }
Example #3
0
        public static List <string> ToJsonList(HystrixDashboardStream.DashboardData data, IDiscoveryClient discoveryClient)
        {
            List <string> jsonList = new List <string>();

            WriteCommandData(data, discoveryClient, jsonList);
            WriteThreadPoolData(data, discoveryClient, jsonList);
            return(jsonList);
        }
Example #4
0
        public static string ToJsonString(HystrixDashboardStream.DashboardData data)
        {
            using var sw = new StringWriter();
            using (var writer = new JsonTextWriter(sw))
            {
                WriteDashboardData(writer, data);
            }

            return(sw.ToString());
        }
        public static List <string> ToMultipleJsonStrings(HystrixDashboardStream.DashboardData dashboardData)
        {
            List <string> jsonStrings = new List <string>();

            foreach (HystrixCommandMetrics commandMetrics in dashboardData.CommandMetrics)
            {
                jsonStrings.Add(ToJsonString(commandMetrics));
            }

            foreach (HystrixThreadPoolMetrics threadPoolMetrics in dashboardData.ThreadPoolMetrics)
            {
                jsonStrings.Add(ToJsonString(threadPoolMetrics));
            }

            foreach (HystrixCollapserMetrics collapserMetrics in dashboardData.CollapserMetrics)
            {
                jsonStrings.Add(ToJsonString(collapserMetrics));
            }

            return(jsonStrings);
        }