missing timeUnit parameter of analytics API

Not applicable

what is the default timeUnit of the analytics api, if the user didn't pass it

I tried this api

{{management-server}}:8080/o/{{organization}}/e/{{environment}}/stats/{{dimension}}?select=sum(message_count)&timeRange=1/1/2015+00:00:00~10/27/2015+10:00:00

without adding timeUnit, i got the data is aggregated for each dimension as follow:

{ "environments" :

[ { "dimensions" : [

{ "metrics" : [

{ "name" : "sum(message_count)",

"values" : [ "4115.0" ] } ],

"name" : "xxxxx" },

{ "metrics" :

[ { "name" : "sum(message_count)",

"values" : [ "261342.0" ] } ],

"name" : "yyyyy" },

.....

What is the default timeUnit?

Solved Solved
0 1 1,028
1 ACCEPTED SOLUTION

Dear @Sawsan Abusharkh ,

If you don't mention timeUnit it gives stats for entire duration.

For Example, If your time range is 09th sep 2015 to 01st Nov 2015 & you have few hundred api calls, total sum of the call is returned in response if timeUnit is not provided in request.

{
  "environments": [
    {
      "dimensions": [
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                "168.0"
              ]
            }
          ],
          "name": "XX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                "469.0"
              ]
            }
          ],
          "name": "XX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                "389.0"
              ]
            }
          ],
          "name": "XX"
        }
      ],
      "name": "test"
    }
  ],
  "metaData": {
    "errors": [],
    "notices": [
      "Table used: XXXX",
      "source pg:XXX",
      "query served by:XXX"
    ]
  }
}

If you specify timeUnit, then for each time Unit data will be displayed, for example if i specify as month,

{
  "environments": [
    {
      "dimensions": [
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                {
                  "timestamp": 1443657600000,
                  "value": "389.0"
                },
                {
                  "timestamp": 1441065600000,
                  "value": "0.0"
                }
              ]
            }
          ],
          "name": "XXX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                {
                  "timestamp": 1443657600000,
                  "value": "206.0"
                },
                {
                  "timestamp": 1441065600000,
                  "value": "263.0"
                }
              ]
            }
          ],
          "name": "XXX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                {
                  "timestamp": 1443657600000,
                  "value": "168.0"
                },
                {
                  "timestamp": 1441065600000,
                  "value": "0.0"
                }
              ]
            }
          ],
          "name": "XX"
        }
      ],
      "name": "test"
    }
  ],
  "metaData": {
    "errors": [],
    "notices": [
      "Table used: XX",
      "source pg:XXX",
      "query served by:XXXX"
    ]
  }
}

There is nothing like default timeUnit. If timeUnit key value is missing then total results will be returned instead of sliced view of timeUnits.

View solution in original post

1 REPLY 1

Dear @Sawsan Abusharkh ,

If you don't mention timeUnit it gives stats for entire duration.

For Example, If your time range is 09th sep 2015 to 01st Nov 2015 & you have few hundred api calls, total sum of the call is returned in response if timeUnit is not provided in request.

{
  "environments": [
    {
      "dimensions": [
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                "168.0"
              ]
            }
          ],
          "name": "XX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                "469.0"
              ]
            }
          ],
          "name": "XX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                "389.0"
              ]
            }
          ],
          "name": "XX"
        }
      ],
      "name": "test"
    }
  ],
  "metaData": {
    "errors": [],
    "notices": [
      "Table used: XXXX",
      "source pg:XXX",
      "query served by:XXX"
    ]
  }
}

If you specify timeUnit, then for each time Unit data will be displayed, for example if i specify as month,

{
  "environments": [
    {
      "dimensions": [
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                {
                  "timestamp": 1443657600000,
                  "value": "389.0"
                },
                {
                  "timestamp": 1441065600000,
                  "value": "0.0"
                }
              ]
            }
          ],
          "name": "XXX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                {
                  "timestamp": 1443657600000,
                  "value": "206.0"
                },
                {
                  "timestamp": 1441065600000,
                  "value": "263.0"
                }
              ]
            }
          ],
          "name": "XXX"
        },
        {
          "metrics": [
            {
              "name": "sum(message_count)",
              "values": [
                {
                  "timestamp": 1443657600000,
                  "value": "168.0"
                },
                {
                  "timestamp": 1441065600000,
                  "value": "0.0"
                }
              ]
            }
          ],
          "name": "XX"
        }
      ],
      "name": "test"
    }
  ],
  "metaData": {
    "errors": [],
    "notices": [
      "Table used: XX",
      "source pg:XXX",
      "query served by:XXXX"
    ]
  }
}

There is nothing like default timeUnit. If timeUnit key value is missing then total results will be returned instead of sliced view of timeUnits.