Visit Azul.com Support

Optimizer Hub API

Table of Contents
Need help?
Schedule a consultation with an Azul performance expert.
Contact Us

Optimizer Hub provides an administration API for ReadyNow Orchestrator.

ReadyNow Orchestrator Admin API

These methods are available on {MANAGEMENT_GATEWAY_IP}:{SERVICE_PORT}/rno/…​ and can be accessed without authentication. The service port typically is 8080. For security reasons, by default, the API is not exposed outside the cluster.

Enabling the API Endpoint

To enable the Management Gateway, set mgmtGateway.enabled to true in value-override.yaml, see Management Gateway Parameters for more info.

Overview of the API Methods

Method Url Description

GET

/rno/names

Returns a list of all profile names with summary information.

The request can optionally be extended with a date range filter (from, to) in the format YYYY-MM-DD. For example: from=2024-04-18&to=2024-04-23. Both these parameters are optional, so you can filter profiles by only one of them.

The data is returned as a JSON array of profile names in the following example format:

 
{ "name": "name-of-profile", "numberOfProfiles": 1, "numberOfChunks": 88, "totalDiskSize": 17273029, "lastAccess": "2024-04-18T16:06:27.842Z", "cncEnabled": true }

You can use the value provided in name to retrieve more info with the following APIs.

GET

/rno/names/{name}

Returns summary information for the requested profile name.

DELETE

/rno/names/{name}

Deletes given profile name and all profiles belonging to it.

GET

/rno/names/{name}/profiles

Returns summary information for all of the profiles within a given profile name. Use the ?status=promoted query parameter to see only the promoted profile.

GET

/rno/names/{name}/profiles/{Id}

Returns summary information for a specific profile.

DELETE

/rno/names/{name}/profiles/{Id}

Deletes a specific profile.

GET

/rno/names/{name}/export

Exports all of the profiles in a specific profile name. Each profile’s directory has the Id of the VM that created it. The promoted profile, meaning the profile that PLS sends to new clients requesting the profile name, is stored in profilePromoted.json. The README has instructions for unifying the profile chunks into a single profile file that can be used as a local input to ReadyNow. You can see the iteration of a given profile in the profileIteration property in the profile’s profileInfo.json file.

Note
The profile export fails if the resulting data stream is larger than 2GB. If this happens, consider just exporting the promoted profile using the ?status=promoted query parameter.

POST

/rno/names/{name}/import

Imports a profile log to this instance of Optimizer Hub. This API is mostly used for moving a promoted profile from one Optimizer Hub instance to another. The uploaded file should be a zip archive in the format produced by the /profile/export API. Do not rename directories in the profile structure or edit the profile metadata.

Note
If the profile name already exists, the import fails.

GET

/rno/profiles/{id}/content

Returns a profile by the specified id. You can use the returned profile as an input for Prime JVM for the ReadyNow ProfileLogIn flag value.

For example:

 
curl {endpoint}:{port}/rno/profiles/{id}/content > {RETURNED_PROFILE} -XX:ProfileLogIn={RETURNED_PROFILE}

GET

/rno/statistics

Returns service-wide statistics for this instance of Cloud Native Compiler.