{
  "nested": {
    "opentelemetry": {
      "nested": {
        "proto": {
          "nested": {
            "trace": {
              "nested": {
                "v1": {
                  "options": {
                    "java_multiple_files": true,
                    "java_package": "io.opentelemetry.proto.trace.v1",
                    "java_outer_classname": "TraceProto",
                    "go_package": "github.com/open-telemetry/opentelemetry-proto/gen/go/trace/v1"
                  },
                  "nested": {
                    "TracesData": {
                      "fields": {
                        "resourceSpans": {
                          "rule": "repeated",
                          "type": "ResourceSpans",
                          "id": 1
                        }
                      }
                    },
                    "ResourceSpans": {
                      "fields": {
                        "resource": {
                          "type": "opentelemetry_proto_resource_v1_Resource",
                          "id": 1
                        },
                        "instrumentationLibrarySpans": {
                          "rule": "repeated",
                          "type": "InstrumentationLibrarySpans",
                          "id": 2
                        },
                        "schemaUrl": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "InstrumentationLibrarySpans": {
                      "fields": {
                        "instrumentationLibrary": {
                          "type": "InstrumentationLibrary",
                          "id": 1
                        },
                        "spans": {
                          "rule": "repeated",
                          "type": "Span",
                          "id": 2
                        },
                        "schemaUrl": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "Span": {
                      "fields": {
                        "traceId": {
                          "type": "bytes",
                          "id": 1
                        },
                        "spanId": {
                          "type": "bytes",
                          "id": 2
                        },
                        "traceState": {
                          "type": "string",
                          "id": 3
                        },
                        "parentSpanId": {
                          "type": "bytes",
                          "id": 4
                        },
                        "name": {
                          "type": "string",
                          "id": 5
                        },
                        "kind": {
                          "type": "SpanKind",
                          "id": 6
                        },
                        "startTimeUnixNano": {
                          "type": "fixed64",
                          "id": 7
                        },
                        "endTimeUnixNano": {
                          "type": "fixed64",
                          "id": 8
                        },
                        "attributes": {
                          "rule": "repeated",
                          "type": "KeyValue",
                          "id": 9
                        },
                        "droppedAttributesCount": {
                          "type": "uint32",
                          "id": 10
                        },
                        "events": {
                          "rule": "repeated",
                          "type": "Event",
                          "id": 11
                        },
                        "droppedEventsCount": {
                          "type": "uint32",
                          "id": 12
                        },
                        "links": {
                          "rule": "repeated",
                          "type": "Link",
                          "id": 13
                        },
                        "droppedLinksCount": {
                          "type": "uint32",
                          "id": 14
                        },
                        "status": {
                          "type": "Status",
                          "id": 15
                        }
                      },
                      "nested": {
                        "SpanKind": {
                          "values": {
                            "SPAN_KIND_UNSPECIFIED": 0,
                            "SPAN_KIND_INTERNAL": 1,
                            "SPAN_KIND_SERVER": 2,
                            "SPAN_KIND_CLIENT": 3,
                            "SPAN_KIND_PRODUCER": 4,
                            "SPAN_KIND_CONSUMER": 5
                          }
                        },
                        "Event": {
                          "fields": {
                            "timeUnixNano": {
                              "type": "fixed64",
                              "id": 1
                            },
                            "name": {
                              "type": "string",
                              "id": 2
                            },
                            "attributes": {
                              "rule": "repeated",
                              "type": "KeyValue",
                              "id": 3
                            },
                            "droppedAttributesCount": {
                              "type": "uint32",
                              "id": 4
                            }
                          }
                        },
                        "Link": {
                          "fields": {
                            "traceId": {
                              "type": "bytes",
                              "id": 1
                            },
                            "spanId": {
                              "type": "bytes",
                              "id": 2
                            },
                            "traceState": {
                              "type": "string",
                              "id": 3
                            },
                            "attributes": {
                              "rule": "repeated",
                              "type": "KeyValue",
                              "id": 4
                            },
                            "droppedAttributesCount": {
                              "type": "uint32",
                              "id": 5
                            }
                          }
                        }
                      }
                    },
                    "Status": {
                      "fields": {
                        "message": {
                          "type": "string",
                          "id": 2
                        },
                        "code": {
                          "type": "StatusCode",
                          "id": 3
                        }
                      },
                      "reserved": [
                        [
                          1,
                          1
                        ]
                      ],
                      "nested": {
                        "StatusCode": {
                          "values": {
                            "STATUS_CODE_UNSET": 0,
                            "STATUS_CODE_OK": 1,
                            "STATUS_CODE_ERROR": 2
                          }
                        }
                      }
                    },
                    "opentelemetry_proto_resource_v1_Resource": {
                      "fields": {
                        "attributes": {
                          "rule": "repeated",
                          "type": "KeyValue",
                          "id": 1
                        },
                        "droppedAttributesCount": {
                          "type": "uint32",
                          "id": 2
                        }
                      }
                    },
                    "AnyValue": {
                      "oneofs": {
                        "value": {
                          "oneof": [
                            "stringValue",
                            "boolValue",
                            "intValue",
                            "doubleValue",
                            "arrayValue",
                            "kvlistValue",
                            "bytesValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 1
                        },
                        "boolValue": {
                          "type": "bool",
                          "id": 2
                        },
                        "intValue": {
                          "type": "int64",
                          "id": 3
                        },
                        "doubleValue": {
                          "type": "double",
                          "id": 4
                        },
                        "arrayValue": {
                          "type": "ArrayValue",
                          "id": 5
                        },
                        "kvlistValue": {
                          "type": "KeyValueList",
                          "id": 6
                        },
                        "bytesValue": {
                          "type": "bytes",
                          "id": 7
                        }
                      }
                    },
                    "ArrayValue": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "AnyValue",
                          "id": 1
                        }
                      }
                    },
                    "KeyValueList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "KeyValue",
                          "id": 1
                        }
                      }
                    },
                    "KeyValue": {
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1
                        },
                        "value": {
                          "type": "AnyValue",
                          "id": 2
                        }
                      }
                    },
                    "StringKeyValue": {
                      "options": {
                        "deprecated": true
                      },
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1
                        },
                        "value": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "InstrumentationLibrary": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "version": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}