Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning
This page refers to functionality that has been removed from License Statistics. This information no longer applies to License Statistics v6.3 and newer.

Obtaining information about usage

...

per user for a feature
Anchor
obtain
obtain

If you want to retrieve information about usage history for a single feature, we recommend that you use the following URL request templateYou can easily fetch metrics about usage per user by sending one of the following HTTP requests.

Code Block
languagejs
firstline1
titleUsage per user for a single feature linenumberstrue
 GET /api/v1/report/feature/${featureId}/usage-per-user/${returnType}?sd=${startDateYYYY-MM-DD}&ed=${endDateYYYY-MM-DD}&grat=${granularity}$(additional parameters, as needed)

where


Code Block
languagejs
firstline1
titleUsage per user for a single license server
 GET /api/v1/report/license-server/${licenseServerId}/usage-per-user/${returnType}?sd=${YYYY-MM-DD}&ed=${YYYY-MM-DD}&grat=${granularity}$(additional parameters, as needed)

where $  - $ indicates a variable value that you can replace with a proper value, according to your needs
 - value that best suits your needs. The possible parameters are as follows:described below.

feature-specific parameters
ParameterRequiredTypeDescription
${featureId}Yesinteger
Specifies

Internal License Statistics identification of the feature for which you want to view usage history.

${
returnType
licenseServerId}Yesinteger/string
Specifies the format in which license usage data will be returned. The format can be one of the following: json, csv, xls, xlsx or pdf

Internal License Statistics identification of the license server for which you want to view usage history, or "all" if information about all license servers is requested.

${returnType}YesstringStandard format option. See Making an API request for details.
sdYes
string
date
Specifies the start
Start date for which the report will be generated
in YYYY-MM-DD format; for example, 2017-01-20
.
edYes
string
date
Specifies the end
End date for which the report will be generated
in YYYY-MM-DD format; for example, 2017-01-27
.
gratYes
integer

Specifies granularity of the returned data, which can be one of the following:

  • Quarter - 2
  • Month - 3
  • Week - 4
  • Day - 5
  • Hour - 6
enumeration

Period type the result is aggregated for. HOUR granularity is not supported. See granularity descriptions for further details.

agrtNointeger
Specifies

Type of aggregation

type

of the returned data

, which

. Aggregation type can be one of the following:

Username
  • User - 1
Hostname
  • Host - 2
Username
  • User and
hostname
  • host - 3
  • Usergroup - 4
  • Hostgroup - 5

By default, data is aggregated by

username and hostnamern

user and host (3).

standard report optionsNo
string

Specifies the name of the report that will be displayed once the report has been exported to PDF or XLS. For CSV and JSON formats this parameter will be ignored.
If you don't pass this parameter, it will be generated automatically for PDF and XLS types. If provided, it cannot be left empty.

filterNojson/string

Applies filtering license usage data on all fields.

To filter by string column, use the following format: 

Code Block
languagejs
[
	{ 
		"type": "string",
		"field": "lud",
		"value": "${value}"
	}
]

To filter by numeric column, use the following format:

Code Block
languagejs
[
	{ 
		"type": "numeric", 
		"comparison": "${gt | lt | eq}", 
		"field": "${fud | un | hn | lsn | fns | fv | ftype | musage | hu | mu | hb | mb}",
		"value": "${value}" 
	}
]
fieldsVisibilityNojson/string

Specifies field visibility settings, like this:

Code Block
languagejs
{ 
	"fud": "1", 
	"un": "1", 
	"hn": "1", 
	"lsn": "1", 
	"fns": "1", 
	"fv": "1", 
	"ftype": "1", 
	"musage": "1", 
	"hu": "1", 
	"mu": "1", 
	"hb": "1", 
	"mb": "1"
}

where "1" indicates that a specific field is visible and ''0" indicates that it is not.

Note that the order of the settings you make is important – when exported, the fields will be visible in exactly the same order you specify here.

limitNointegerDetermines the maximum number of data records that can be returned. The value must be greater than zero.offsetNointegerSpecifies the offset of the first row to return.orderByNostring

Specifies the field by which you want to order your data records. The field name can be one of the following:

fud | un | hn | lsn | fns | fv | ftype | musage | hu | mu | hb | mb
orderDirectionNostringDetermines whether the sorting results will be displayed in ascending (ASC) or descending (DESC) order.

If your request is successful, you should see a response similar to the following:

Code Block
languagejs
{
	"success": ${success},
  	"msg": ${message},
  	"data": [
    	{      		
			"fid": ${featureId},      		
			"lsid": ${licenseServerId},	
			"uid": ${userId},
			"uil": ${userIsLdap},
      		"fud": ${date},      		
			"un": ${username},      		
			"hn": ${hostname},
      		"lsn": ${licenseServerName},
      		"fns": ${featureName},
      		"fv": ${featureVersion},
      		"ftype": ${featureType},
      		"musage": ${maxUsage},
      		"hu": ${hoursUsed},
      		"mu": ${maxUsed},
      		"hb": ${hoursBorrowed},
      		"mb": ${maxBorrowed}
    	}
  	],
  	"code": ${code},
  	"totalCount": ${count}
}

where the response fields can be explained as follows:

...

Indicates period of time for which usage information is generated, i.e. date and time for hourly usage and dates for the remaining granularity options.

...

Error code if success equals false, null otherwise.

...

Obtaining information about usage history comparison for features

If you want to obtain information about usage history comparison for features, we recommend that you use the following URL request template.

Code Block
languagejs
firstline1
linenumberstrue
GET /api/v1/report/usage-history/comparison/json?fi=${featureIds}&sd=${startDate}&ed=${endDate}&granularity=${granularity}

Possible parameters are as follows:

...

  • Quarter - 2
  • Month - 3
  • Week - 4
  • Day - 5
  • Hour - 6

Currently the report is only returned only in JSON syntax. There are plans to introduce CSV, XLS and PDF formats in the future.

If your request is successful, you should see a response similar to the following:

Code Block
languagejs
{
	"success": ${success},
  	"msg": ${message},
  	"data": [
    	{
      		"fid": ${featureId_1},
      		"lud": ${date},
      		"lumin": ${minUsed},
      		"lua": ${averageUsed},
      		"lumax": ${maxUsed},
      		"lbmin": ${minBorrowed},
      		"lbmax": ${maxBorrowed},
      		"ldtc": ${denials},
      		"hu": ${hoursUsed},
      		"ft": ${total}
    	},
		{
      		"fid": ${featureId_2},
      		"lud": ${date},
      		"lumin": ${minUsed},
      		"lua": ${averageUsed},
      		"lumax": ${maxUsed},
      		"lbmin": ${minBorrowed},
      		"lbmax": ${maxBorrowed},
      		"ldtc": ${denials},
      		"hu": ${hoursUsed},
      		"ft": ${total}
    	}
  	],
  	"code": ${code},
  	"totalCount": ${count}
}

where the fields have the same values as the ones explained in Obtaining information about usage history for feature, above.

Obtaining information about usage history for license server

If you want to obtain information about usage history for all visible features for a given server, we recommend that you use the following URL request template.

Code Block
languagejs
firstline1
linenumberstrue
GET /api/v1/report/usage-history/license-server/${lsid}/${returnType}?sd=${startDate}&ed={endDate}&granularity=${granularity}$(additional parameters, as needed)

Possible parameters are as follows:

...

Specifies granularity of the returned data, which can be one of the following:

...

  • Quarter - 2
  • Month - 3
  • Week - 4
  • Day - 5
  • Hour - 6

...

Applies filtering license usage data on all fields.

To filter by string column, use the following format: 

Code Block
languagejs
[
	{ 
		"type": "string", 
		"field": "${lud | fns | fv | ftype}",
		"value": "${value}"
	}
]

To filter by numeric column, use the following format:

Code Block
languagejs
[
	{ 
		"type": "numeric", 
		"field": "${lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft}",
		"value": "${value}"
	}
]
various

See Making an API request for details.

Response

On success, this report will contain one row for each feature for each aggregator for each period. Each row consists of the following columns.


ColumnFull nameTypeDescriptionVisible by default in export
fudDatestring

The time period. Format depends on granularity.

(tick)Yes
uidUser IDstring

Internal License Statistics identification of the user for aggregations User(1) and User and Host(3).

Otherwise, a semicolon-separated list of user IDs.

(error) Unavailable
unUserstring

Name of the user for aggregations User(1) and User and host(3).

Otherwise, a semicolon-separated list of usernames.

(tick)Yes
uilUser is from LDAPstring

Information about whether the user is managed by LDAP for aggregations User(1) and User and host(3).

Otherwise, a null value.

(error) Unavailable
ugnUser Groupstring

Name of user group for aggregations Usergroup(4).

Otherwise, an empty string.

(warning) Only for aggregation Usergroup(4)
hnHoststring

Hostname for aggregations Host(2) and User and host(3).

Otherwise, a semicolon-separated list of hostnames.

(tick)Yes
hgnHost GroupstringName of host group for aggregations Hostgroup(5).

Otherwise, an empty string.

(warning) Only for aggregation Hostgroup(4)
lsidLicense Server IDintegerInternal License Statistics identification of the license server hosting the feature.
(error) Unavailable
lsnLicense ServerstringName of the license server hosting the feature.(tick)Yes
fidFeature IDintegerInternal License Statistics identification of the feature.
(error) Unavailable
fnsFeature NamestringFeature name.
(tick)Yes
fvFeature VersionstringFeature version.(tick)Yes
ftypeFeature TypeenumerationSee feature type descriptions for details.(tick)Yes
musageMax UsagefloatMaximum usage of licenses in relation to total number of licenses in the period, expressed in percentages.(tick)Yes
huHours UsedfloatCumulative time used by all licenses of the feature in the period, in hours.(tick)Yes
muMax UsedintegerMaximum number of licenses of the feature used in the period.
(tick)Yes
hbHours BorrowedfloatCumulative time of all license borrows of the feature in the period, in hours.
(tick)Yes
mbMax BorrowedintegerMaximum number of licenses of the feature borrowed in the period.
(tick)Yes

Note that the order in the table is the default order of the columns in the exported file

...

Specifies field visibility settings, for example:

Code Block
languagejs
{ 
	"lud": "1", 
	"lumin": "1", 
	"lua": "0", 
	"lumax": "1", 
	"lbmin": "1", 
	"lbmax": "1", 
	"ldtc": "1", 
	"hu": "0", 
	"ft": "0",
	"fns": "1",
	"fv": "1",
	"ftype": "1"
}

where "1" indicates that a specific field is visible, ''0" indicates it is not.

Note that the order of the settings you make is important – when exported, the fields will be visible in exactly the same order you specify here.

...

Specifies the field by which you want to order your data records. The field name can be one of the following: 

lud | fns | fv | ftype | fid | lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft

...

If your request is successful, you should see a response similar to the following:

Code Block
languagejs
{
	"success": ${success},
	"msg": ${message},
  	"data": [
    	{
      		"fid": ${featureId_1},
      		"lud": ${date},
      		"lumin": ${minUsed},
      		"lua": ${averageUsed},
      		"lumax": ${maxUsed},
      		"lbmin": ${minBorrowed},
      		"lbmax": ${maxBorrowed},
      		"ldtc": ${denials},
      		"hu": ${hoursUsed},
      		"ft": ${total},
			"fns": ${featureName},
			"ftype": ${featureType},
			"fv": ${featureVersion}
    	},
		{
      		"fid": ${featureId_1},
      		"lud": ${date},
      		"lumin": ${minUsed},
      		"lua": ${averageUsed},
      		"lumax": ${maxUsed},
      		"lbmin": ${minBorrowed},
      		"lbmax": ${maxBorrowed},
      		"ldtc": ${denials},
      		"hu": ${hoursUsed},
      		"ft": ${total},
			"fns": ${featureName},
			"ftype": ${featureType},
			"fv": ${featureVersion}
    	}
  	],
  	"code": ${code},
  	"totalCount": ${count}
}

where the response fields can be explained as follows:

...

ldtc

...

.