{
  "package": "analytics",
  "messages": [
    {
      "name": "Usage",
      "fields": [
        {
          "rule": "required",
          "type": "uint64",
          "name": "streams",
          "id": 1
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "users",
          "id": 2
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "devices",
          "id": 3
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "minutes",
          "id": 4
        }
      ]
    },
    {
      "name": "UsageByType",
      "fields": [
        {
          "rule": "required",
          "type": "string",
          "name": "type",
          "id": 1
        },
        {
          "rule": "required",
          "type": "string",
          "name": "subtype",
          "id": 2
        },
        {
          "rule": "required",
          "type": "Usage",
          "name": "usage",
          "id": 3
        }
      ]
    },
    {
      "name": "UsageByCountry",
      "fields": [
        {
          "rule": "required",
          "type": "string",
          "name": "continent",
          "id": 1
        },
        {
          "rule": "required",
          "type": "string",
          "name": "country",
          "id": 2
        },
        {
          "rule": "repeated",
          "type": "UsageByType",
          "name": "usageByType",
          "id": 3
        }
      ]
    },
    {
      "name": "GetGeographicUsage",
      "fields": [
        {
          "rule": "repeated",
          "type": "string",
          "name": "applicationIds",
          "id": 1
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "start",
          "id": 2
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "end",
          "id": 3
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "continuationId",
          "id": 4
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "routeKey",
          "id": 5
        }
      ]
    },
    {
      "name": "GetGeographicUsageResponse",
      "fields": [
        {
          "rule": "required",
          "type": "string",
          "name": "status",
          "id": 1
        },
        {
          "rule": "optional",
          "type": "Usage",
          "name": "usage",
          "id": 2
        },
        {
          "rule": "repeated",
          "type": "UsageByType",
          "name": "usageByType",
          "id": 3
        },
        {
          "rule": "repeated",
          "type": "UsageByCountry",
          "name": "usageByCountry",
          "id": 4
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "continuationId",
          "id": 5
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "routeKey",
          "id": 6
        }
      ]
    },
    {
      "name": "CDF",
      "fields": [
        {
          "rule": "repeated",
          "type": "double",
          "name": "data",
          "id": 1
        }
      ]
    },
    {
      "name": "GetTimeToFirstFrameCDF",
      "fields": [
        {
          "rule": "repeated",
          "type": "string",
          "name": "applicationIds",
          "id": 1
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "start",
          "id": 2
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "end",
          "id": 3
        },
        {
          "rule": "required",
          "type": "Kind",
          "name": "kind",
          "id": 4
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "continuationId",
          "id": 5
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "routeKey",
          "id": 6
        }
      ],
      "enums": [
        {
          "name": "Kind",
          "values": [
            {
              "name": "All",
              "id": 0
            },
            {
              "name": "RealTime",
              "id": 1
            },
            {
              "name": "Live",
              "id": 2
            },
            {
              "name": "Dash",
              "id": 3
            },
            {
              "name": "Hls",
              "id": 4
            },
            {
              "name": "PeerAssisted",
              "id": 5
            }
          ]
        }
      ]
    },
    {
      "name": "GetTimeToFirstFrameCDFResponse",
      "fields": [
        {
          "rule": "required",
          "type": "string",
          "name": "status",
          "id": 1
        },
        {
          "rule": "optional",
          "type": "uint64",
          "name": "count",
          "id": 2
        },
        {
          "rule": "optional",
          "type": "double",
          "name": "average",
          "id": 3
        },
        {
          "rule": "optional",
          "type": "CDF",
          "name": "cdf",
          "id": 4
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "continuationId",
          "id": 5
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "routeKey",
          "id": 6
        }
      ]
    },
    {
      "name": "GetActiveUsers",
      "fields": [
        {
          "rule": "repeated",
          "type": "string",
          "name": "applicationIds",
          "id": 1
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "snapshotTime",
          "id": 2
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "continuationId",
          "id": 3
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "routeKey",
          "id": 4
        }
      ]
    },
    {
      "name": "UsersAndSessionsGrouped",
      "fields": [
        {
          "rule": "required",
          "type": "string",
          "name": "groupName",
          "id": 1
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "users",
          "id": 2
        },
        {
          "rule": "required",
          "type": "uint64",
          "name": "sessions",
          "id": 3
        }
      ]
    },
    {
      "name": "GetActiveUsersResponse",
      "fields": [
        {
          "rule": "required",
          "type": "string",
          "name": "status",
          "id": 1
        },
        {
          "rule": "optional",
          "type": "uint64",
          "name": "users",
          "id": 2
        },
        {
          "rule": "optional",
          "type": "uint64",
          "name": "sessions",
          "id": 3
        },
        {
          "rule": "repeated",
          "type": "UsersAndSessionsGrouped",
          "name": "byPlatform",
          "id": 4
        },
        {
          "rule": "repeated",
          "type": "UsersAndSessionsGrouped",
          "name": "byManufacturer",
          "id": 5
        },
        {
          "rule": "repeated",
          "type": "UsersAndSessionsGrouped",
          "name": "byCity",
          "id": 6
        },
        {
          "rule": "repeated",
          "type": "UsersAndSessionsGrouped",
          "name": "byCountry",
          "id": 7
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "continuationId",
          "id": 8
        },
        {
          "rule": "optional",
          "type": "string",
          "name": "routeKey",
          "id": 9
        }
      ]
    }
  ]
}
