The setOldObjectSampleDurationMinutes() GraphQL mutation is used to set the duration that old object sampling will run for before dumping the results and restarting.

To enable and disable the OldObjectSample event for the Java flight recorder, use the setOldObjectSampleEnabled() mutation. Related to these mutations, there is the flightRecorderSettings() query to get the Java Flight Recorder settings. There's also the resetFlightRecorderSettings() query to reset the flight recorder settings to the default.

API Stability Preview

Syntax

graphql
setOldObjectSampleDurationMinutes(
      vhost: integer!,
      oldObjectSampleDurationMinutes: long!
   ): long

For the input, you'll have to give the the node to change, and the duration that the old object sampling will run, before dumping results and restarting.

There are no return parameters to specify. It returns the number of minutes you gave it.

Example

Raw
graphql
mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  setOldObjectSampleDurationMinutes( ^
     vhost: 2, ^
     oldObjectSampleDurationMinutes: 1 ^
  ) ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  setOldObjectSampleDurationMinutes(
     vhost: 2,
     oldObjectSampleDurationMinutes: 1
  )
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "setOldObjectSampleDurationMinutes": 1
  }
}

Given Datatype

For the input, you'll have to give the the node to change, and the duration that the old object sampling will run, before dumping results and restarting.

Table: Input Using Standard Datatypes

Parameter Type Required Default Description
oldObjectSampleDurationMinutes long yes   The duration that the old object sampling will run, before dumping results and restarting.
vhost integer yes   The node for which to change the setting.