| {object} | options settings object for share usage. |
| {number} | options.interval If exactly the same evidence values are seen multiple times within this time limit (in milliseconds) then they will only be shared once. |
| {number} | options.requestedPackageSize The usage element will group data into single requests before sending it. This setting controls the minimum number of entries before data is sent. If you are sharing large amounts of data, increasing this value is recommended in order to reduce the overhead of sending HTTP messages. For example, the 51Degrees cloud service uses a value of 2500. |
| {string} | options.cookie The name of the cookie that holds the session id. It has no effect unless trackSession is true. The cookie itself is not shared unless shareAll is true. |
| {Array<string>|null} | options.queryWhitelist By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. If you need to share query string parameters, a list can be specified here. null shares every parameter. |
| {Array<string>} | options.headerBlacklist By default, all HTTP headers except Cookie are shared. Individual headers can be excluded from sharing by adding them to this list. |
| {number} | options.sharePercentage approximate proportion of requests to be shared. 1 = 100%, 0.5 = 50%, etc.. |
| {string} | options.endpoint The target destination for usage sharing data. The default is https://devices-v4.51degrees.com/new.ashx. |
| {boolean} | options.shareAll If true, all evidence is shared apart from the email address, the salt used for hashed email identifiers, and the request's query string and path. False by default. |
| {boolean} | options.trackSession If true, the cookie named by cookie is used to tell user sessions apart, so evidence already shared is shared again when it comes from a new session. False by default. It needs cookie to be set, and has no effect when shareAll is true, because every cookie is then shared and used to find repeats. |
| {number} | options.maximumQueueSize The most entries held while waiting to be sent. When the queue is full, new entries are dropped. The default is 1000, or ten times requestedPackageSize if that is larger. |
| {number} | options.requestTimeout The time in milliseconds to wait for the service to answer before the send counts as failed. 60000 by default. |
| {number} | options.failuresToEnterRecovery The number of failed sends within failuresWindowSeconds that pauses sending, from 1 to 100. Usage data is still queued while sending is paused. 10 by default. |
| {number} | options.failuresWindowSeconds The time in seconds over which failed sends are counted. 100 by default. |
| {number} | options.initialRecoveryDelaySeconds The length in seconds of the first pause after failed sends. 2 by default. |
| {number} | options.maxRecoveryDelaySeconds The longest a pause can be, in seconds. 300 by default. |
| {number} | options.recoveryMultiplier What the pause is multiplied by each time the send tried when a pause ends fails. 2 by default. |