private static void SerializeConfiguration(JsonTextWriter writer, HystrixConfiguration config)
        {

            writer.WriteStartObject();
            writer.WriteStringField("type", "HystrixConfig");
            writer.WriteObjectFieldStart("commands");
            foreach (var entry in config.CommandConfig)
            {
                IHystrixCommandKey key = entry.Key;
                HystrixCommandConfiguration commandConfig = entry.Value;
                WriteCommandConfigJson(writer, key, commandConfig);

            }
            writer.WriteEndObject();

            writer.WriteObjectFieldStart("threadpools");
            foreach (var entry in config.ThreadPoolConfig)
            {
                IHystrixThreadPoolKey threadPoolKey = entry.Key;
                HystrixThreadPoolConfiguration threadPoolConfig = entry.Value;
                WriteThreadPoolConfigJson(writer, threadPoolKey, threadPoolConfig);
            }
            writer.WriteEndObject();

            writer.WriteObjectFieldStart("collapsers");
            foreach (var entry in config.CollapserConfig)
            {
                IHystrixCollapserKey collapserKey = entry.Key;
                HystrixCollapserConfiguration collapserConfig = entry.Value;
                WriteCollapserConfigJson(writer, collapserKey, collapserConfig);
            }
            writer.WriteEndObject();
            writer.WriteEndObject();

        }
        public static string ToJsonString(HystrixConfiguration config)
        {
            using var sw = new StringWriter();
            using (var writer = new JsonTextWriter(sw))
            {
                SerializeConfiguration(writer, config);
            }

            return(sw.ToString());
        }