J.B
J.B

Reputation: 147

BadRequest when adding expandClause for JobStatistics

I want to get some statistics about the job I'm running on my pool, and for that I am trying to use the JobStatistics class, but I have been getting job.Statistics as null in most of my runs except for few where the result was magically not null. I read in a documentation (https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.batch.cloudjob.statistics?view=azurebatch-6.1.0#Microsoft_Azure_Batch_CloudJob_Statistics) that for the statistics results not to be null, I need to use an expand clause with DetailLevel, but each time I do, I get the error: "operation returned an invalid status code 'badrequest' ". This is what I have for that.

ODATADetailLevel detailExJob = new ODATADetailLevel();
        detailExJob.SelectClause = "id,executionInfo,stats";
        detailExJob.ExpandClause = "id,executionInfo,stats";
        await job.RefreshAsync(detailExJob);

What am I missing here? How can I get job.Statistics not to be null?

Thanks!

Upvotes: 0

Views: 156

Answers (1)

fpark
fpark

Reputation: 2369

I'll try to answer your question, but it looks like you have two separate issues.

  1. Job lifetime statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. I believe the typical delay is about 30minutes, but this is not documented.
  2. The expand clause currently only supports stats. If you modify your detailExJob.ExpandClause statement to be assigned just "stats", then your job query should work. Moreover, you can simplify your detail level object to omit the expand clause altogether since you specified stats in the select clause.

Upvotes: 1

Related Questions