Service configuration

When Itential Platform starts a service (application or adapter), the service loads its configuration data for start-up. Service configuration is managed from the Service Config editor in Admin Essentials.

This guide covers two service configuration topics: profiling logs and maximum memory size.

Profiling

To help troubleshoot performance issues resulting in high CPU usage, Itential Platform has a built-in profiler based on V8 profiling and Node.js simple profiling.

Profiling can be enabled for Itential Platform and select applications and adapters in release version 2020.1 and higher.

Itential strongly recommends that profiling is not enabled for production deployments due to possible performance impacts.

Prerequisites

You must have write permission to the working directory to create profiling logs.

Set profiling in Itential Platform

When running Itential Platform in a Docker environment, set the following in /docker/startContainer:

$PHCORE_PROFILING=true

When running Itential Platform directly in shell, use the --prof CLI option:

$sudo -u pronghorn node --prof server.js

Enable profiling for apps and adapters

To enable profiling for adapters and applications running on a development server:

1

Open Admin Essentials

Go to Admin Essentials.

2

Select the service

Expand the Applications or Adapters menu in the left sidebar and select the appropriate adapter or application.

3

Enable Advanced View

From the Configuration tab, switch the toggle in the upper-right corner to turn on Advanced View and display the Service Config editor.

4

Edit the profiling configuration

Enable or disable profiling by directly editing the service configuration.

Profiling enabled for the NSO Manager application
5

Save and restart

Click Save, then restart the application or adapter for the change to take effect.

Process profiler logs

The profiler writes data to a file named isolate-*-v8.log in the working directory.

Profiling log output files

To convert the log into a readable format, use the Node.js --prof-process CLI option:

$node --prof-process isolate-0x5589eb9afae0-v8.log > isolate-0x5589eb9afae0-v8-PRETTY.log

Open the output file in your preferred editor or viewer to inspect the profiling data.

Remove profiler logs

After analyzing the profile data, remove the log files to reclaim disk space.

System properties

System properties control service-level internal settings such as V8 and Node.js properties for a service process. Add them to the Service Config page (under Applications or Adapters) as a top-level systemProps property.

Max memory size

As memory consumption approaches the limit for a service process, use maxOldSpaceSize to increase the memory limit. Navigate to Admin Essentials → Applications → Configuration → Service Config to add this property.

PropertyTypeDefaultDescription
maxOldSpaceSizeInteger2048Sets the maximum memory size (in MB) of a service’s V8 old memory section. The default is 2 GB for all services except Workflow Engine, which defaults to 8 GB.

Sample configuration

1"systemProps": {
2 "maxOldSpaceSize": 4095
3}