Skip to content

Commit f2d59db

Browse files
mattcolegatesjanuary
authored andcommitted
Raise levels to 3.1.1; bump agentcore to 3.2.4 (#483)
1 parent 7a01cfe commit f2d59db

File tree

4 files changed

+36
-32
lines changed

4 files changed

+36
-32
lines changed

README.md

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Node Application Metrics monitoring and profiling agent
88
![Apache 2](https://img.shields.io/badge/license-Apache2-blue.svg?style=flat)
99
[![Homepage](https://img.shields.io/badge/homepage-Node%20Application%20Metrics-blue.svg)](https://developer.ibm.com/node/monitoring-post-mortem/application-metrics-node-js/)
1010

11-
Node Application Metrics instruments the Node.js runtime for performance monitoring, providing the monitoring data via an API.
12-
Additionally the data can be visualized by using the [Node Application Metrics Dashboard](https://github.com/RuntimeTools/appmetrics-dash).
11+
Node Application Metrics instruments the Node.js runtime for performance monitoring, providing the monitoring data via an API.
12+
Additionally the data can be visualized by using the [Node Application Metrics Dashboard](https://github.com/RuntimeTools/appmetrics-dash).
1313

1414
The data can also be visualized in Eclipse using the [IBM Monitoring and Diagnostics Tools - Health Center][1] client. Profiling data is available in Health Center, but is not yet available in the Dashboard. See https://www.ibm.com/developerworks/java/jdk/tools/healthcenter/ for more details.
1515

@@ -43,7 +43,7 @@ Node Application Metrics provides the following built-in data collection sources
4343
Function trace | Tracing of application function calls that occur during a request (disabled by default)
4444
## Performance overhead
4545

46-
Our testing has shown that the performance overhead in terms of processing is minimal, adding less than 0.5 % to the CPU usage of your application. The additional memory required is around 20 MB to gather information about your system and application.
46+
Our testing has shown that the performance overhead in terms of processing is minimal, adding less than 0.5 % to the CPU usage of your application. The additional memory required is around 20 MB to gather information about your system and application.
4747

4848
We gathered this information by monitoring the sample application [Acme Air][3]. We used MongoDB as our datastore and used JMeter to drive load though the program. We have performed this testing with Node.js version 6.10.3
4949

@@ -75,10 +75,10 @@ $ npm install -g appmetrics
7575
```
7676
A global install will put the module inside a directory tied to your Node.js SDK.
7777

78-
* On Windows, either:
78+
* On Windows, either:
7979
* `<UserDirectory>\AppData\Roaming\npm\node_modules`
8080
* or: `<NodeInstallDirectory>\node_modules`
81-
* On other platforms:
81+
* On other platforms:
8282
* `<node_install_directory>/lib/node_modules`
8383

8484
It also adds the `node-hc` command to another directory tied to your Node.js SDK, one that was added to your executable search path by the Node.js SDK installer.
@@ -93,7 +93,7 @@ It also adds the `node-hc` command to another directory tied to your Node.js SDK
9393

9494
Node Application Metrics can be configured in two ways, by using the configuration file described below or via a call to configure(options).
9595

96-
Node Application Metrics comes with a configuration file inside the [module installation directory](#installation) (`.../node_modules/appmetrics/appmetrics.properties`). This can be used to configure connection options, logging and data source options.
96+
Node Application Metrics comes with a configuration file inside the [module installation directory](#installation) (`.../node_modules/appmetrics/appmetrics.properties`). This can be used to configure connection options, logging and data source options.
9797

9898
Node Application Metrics will attempt to load `appmetrics.properties` from one of the following locations (in order):
9999

@@ -108,7 +108,7 @@ Many of the options provide configuration of the Health Center core agent librar
108108
The following options are specific to appmetrics:
109109

110110
* `com.ibm.diagnostics.healthcenter.data.profiling=[off|on]`
111-
Specifies whether method profiling data will be captured. The default value is `off`. This specifies the value at start-up; it can be enabled and disabled dynamically as the application runs, either by a monitoring client or the API.
111+
Specifies whether method profiling data will be captured. The default value is `off`. This specifies the value at start-up; it can be enabled and disabled dynamically as the application runs, either by a monitoring client or the API.
112112

113113
## Running Node Application Metrics
114114

@@ -152,7 +152,9 @@ monitoring.on('cpu', function (cpu) {
152152
```
153153

154154
## Health Center Eclipse IDE client
155+
**_Not supported on z/OS_**
155156
### Connecting to the client
157+
156158
Connecting to the Health Center client requires the additional installation of a MQTT broker. The Node Application Metrics agent sends data to the MQTT broker specified in the `appmetrics.properties` file or set via a call to configure(options). Installation and configuration documentation for the Health Center client is available from the [Health Center documentation in IBM Knowledge Center][2].
157159

158160
Note that both the API and the Health Center client can be used at the same time and will receive the same data. Use of the API requires a local install and application modification (see *[Modifying your application to use the local installation](#modifying-your-application-to-use-the-local-installation)*).
@@ -161,17 +163,17 @@ Further information regarding the use of the Health Center client with Node Appl
161163

162164
## API Documentation
163165
### appmetrics.configure(options)
164-
Sets various properties on the appmetrics monitoring agent. If the agent has already been started, this function does nothing.
165-
* `options`(Object) key value pairs of properties and values to be set on the monitoring agent.
166+
Sets various properties on the appmetrics monitoring agent. If the agent has already been started, this function does nothing.
167+
* `options`(Object) key value pairs of properties and values to be set on the monitoring agent.
166168

167-
Property name | Property value | Effect
169+
Property name | Property value type | Property description
168170
:--------------------|:-------------------------|:-----------------------------
169-
`applicationID` | `string` | Specifies a unique identifier for the mqtt connection
170-
`mqtt` | `[off|on]` | Specifies whether the monitoring agent sends data to the mqtt broker. The default value is on
171-
`mqttHost` | `host name` | Specifies the host name of the mqtt broker
172-
`mqttPort` | `port number` | Specifies the port number of the mqtt broker
173-
`profiling` | `[off|on]` | Specifies whether method profiling data will be captured. The default value is off
174-
171+
`applicationID` | `string` | Specifies a unique identifier for the mqtt connection
172+
`mqtt` | `string['off'\|'on']` | Specifies whether the monitoring agent sends data to the mqtt broker. The default value is `'on'`
173+
`mqttHost` | `string` | Specifies the host name of the mqtt broker
174+
`mqttPort` | `string['[0-9]*']` | Specifies the port number of the mqtt broker
175+
`profiling` | `string['off'\|'on']` | Specifies whether method profiling data will be captured. The default value is `'off'`
176+
175177

176178
### appmetrics.start()
177179
Starts the appmetrics monitoring agent. If the agent is already running this function does nothing.
@@ -195,11 +197,9 @@ Set the configuration to be applied to a specific data type. The configuration a
195197
* `type` (String) the type of event to apply the configuration to.
196198
* `config` (Object) key value pairs of configurations to be applied to the specified event. The available configuration options are as follows:
197199

198-
Source | Configuration | Effect
200+
Type | Configuration key | Configuration Value
199201
:--------------------|:-------------------------|:-----------------------------
200-
`http` | `filters` | (Array) of URL filter Objects consisting of:
201-
| | `pattern` (String) a regular expression pattern to match HTTP method and URL against, eg. 'GET /favicon.ico$'
202-
| | `to` (String) a conversion for the URL to allow grouping. A value of `''` causes the URL to be ignored.
202+
`http` | `filters` | (Array) of URL filter Objects consisting of:<ul><li>`pattern` (String) a regular expression pattern to match HTTP method and URL against, eg. 'GET /favicon.ico$'</li><li>`to` (String) a conversion for the URL to allow grouping. A value of `''` causes the URL to be ignored.</li></ul>
203203
`requests` | `excludeModules` | (Array) of String names of modules to exclude from request tracking.
204204
`trace` | `includeModules` | (Array) of String names for modules to include in function tracing. By default only non-module functions are traced when trace is enabled.
205205
`advancedProfiling` | `threshold` | (Number) millisecond run time of an event loop cycle that will trigger profiling
@@ -210,7 +210,8 @@ Allows custom monitoring events to be added into the Node Application Metrics ag
210210
* `data` (Object) the data to be made available with the event. The object must not contain circular references, and by convention should contain a `time` value representing the milliseconds when the event occurred.
211211

212212
### appmetrics.writeSnapshot([filename],[callback])
213-
Dumps the v8 heap via `heapdump`.
213+
**_Not supported on z/OS_**
214+
Dumps the v8 heap via `heapdump`.
214215
For more information, see https://github.com/bnoordhuis/node-heapdump/blob/master/README.md
215216

216217
### appmetrics.monitor()
@@ -309,10 +310,10 @@ Emitted when a LevelDB query is made using the `leveldown` module.
309310
* `time` (Number) the time in milliseconds when the LevelDB query was made. This can be converted to a Date using `new Date(data.time)`.
310311
* `method` (String) The leveldown method being used.
311312
* `key` (Object) The key being used for a call to `get`, `put` or `del` (Undefined for other methods)
312-
* `value` (Object) The value being added to the LevelDB database using the `put` method (Undefined for other methods)
313-
* `opCount` (Number) The number of operations carried out by a `batch` method (Undefined for other methods)
313+
* `value` (Object) The value being added to the LevelDB database using the `put` method (Undefined for other methods)
314+
* `opCount` (Number) The number of operations carried out by a `batch` method (Undefined for other methods)
314315
* `duration` (Number) the time taken for the LevelDB query to be responded to in ms.
315-
316+
316317
### Event: 'loopback-datasource-juggler'
317318
Emitted when a function is called on the `loopback-datasource-juggler` module
318319
* `data` (Object) the data from the loopback-datasource-juggler event:
@@ -416,7 +417,7 @@ Emitted when a query is executed using the `strong-oracle` module.
416417
* `time` (Number) the milliseconds when the Strong Oracle query was made. This can be converted to a Date using `new Date(data.time)`.
417418
* `query` (String) the query made of the database.
418419
* `duration` (Number) the time taken for the Strong Oracle query to be responded to in ms.
419-
420+
420421
## API: Requests
421422

422423
### Event: 'request'
@@ -438,11 +439,13 @@ Requests are a special type of event emitted by appmetrics. All the probes name
438439

439440
The Node Application Metrics agent supports the following runtime environments where a Node.js runtime is available:
440441

441-
* **Node.js v4, v6 ,v7 and v8** on:
442+
* **Node.js v4, v7 and v8** on:
442443
* 64-bit or 32-bit runtime on Windows (x64 or x86)
443444
* 64-bit or 32-bit runtime on Linux (x64, x86, PPC32, PPC64, PPC64LE, z31, z64)
444445
* 64-bit or 32-bit runtime on AIX (PPC64)
445446
* 64-bit runtime on Mac OS X (x64)
447+
* **Node.js v6** on all the above, plus:
448+
* 64-bit runtime on z/OS (os390)
446449

447450
## Troubleshooting
448451
Find below some possible problem scenarios and corresponding diagnostic steps. Updates to troubleshooting information will be made available on the [appmetrics wiki][3]: [Troubleshooting](https://github.com/RuntimeTools/appmetrics/wiki/Troubleshooting). If these resources do not help you resolve the issue, you can open an issue on the Node Application Metrics [appmetrics issue tracker][5].
@@ -496,10 +499,11 @@ The npm package for this project uses a semver-parsable X.0.Z version number for
496499
Non-release versions of this project (for example on github.com/RuntimeTools/appmetrics) will use semver-parsable X.0.Z-dev.B version numbers, where X.0.Z is the last release with Z incremented and B is an integer. For further information on the development process go to the [appmetrics wiki][3]: [Developing](https://github.com/RuntimeTools/appmetrics/wiki/Developing).
497500

498501
## Version
499-
3.1.0
502+
3.1.1
500503

501504
## Release History
502-
`3.1.0` - HTTPS probe added.
505+
`3.1.1` - Node v6 on z/OS support.
506+
`3.1.0` - HTTPS probe added.
503507
`3.0.2` - Probe defect for Node 8 support.
504508
`3.0.1` - Packaging bug fix to allow build from source if binary not present.
505509
`3.0.0` - Remove express probe. Additional data available in http and request events. Code improvements.

extract_all_binaries.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ var AGENTCORE_PLATFORMS = [
4141
'win32-x64',
4242
'os390-s390x',
4343
];
44-
var AGENTCORE_VERSION = '3.2.2';
45-
var APPMETRICS_VERSION = '3.1.0';
44+
var AGENTCORE_VERSION = '3.2.4';
45+
var APPMETRICS_VERSION = '3.1.1';
4646

4747
var LOG_FILE = path.join(INSTALL_DIR, 'install.log');
4848
var logFileStream = fs.createWriteStream(LOG_FILE, { flags: 'a' });

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "appmetrics",
3-
"version": "3.1.0",
3+
"version": "3.1.1",
44
"engines": {
55
"node": ">=4"
66
},

0 commit comments

Comments
 (0)