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:

    lud | lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft
    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},
          		"lud": ${date},
          		"lumin": ${minUsed},
          		"lua": ${averageUsed},
          		"lumax": ${maxUsed},
          		"lbmin": ${minBorrowed},
          		"lbmax": ${maxBorrowed},
          		"ldtc": ${denials},
          		"hu": ${hoursUsed},
          		"ft": ${total}
        	}
      	],
      	"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.

    ...

    ldtc

    ...

    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

    ...

    .