◆ ShareUsageBuilderBase() [1/2]
FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.ShareUsageBuilderBase | ( | ILoggerFactory | loggerFactory | ) |
Constructor
- Parameters
-
- loggerFactory - The ILoggerFactory to use when creating loggers for a ShareUsageElement.
◆ ShareUsageBuilderBase() [2/2]
FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.ShareUsageBuilderBase ( ILoggerFactory loggerFactory, ILogger logger ) - Parameters
-
- loggerFactory -
- logger -
Member Function Documentation
◆ Build()
abstract T FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.Build ( ) pure virtualCreate the ShareUsageElement
- Returns
- The newly created element.
Implemented in FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilder.
◆ SetAddTimeout()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetAddTimeout ( int milliseconds ) Set the timeout in milliseconds to allow when attempting to add an item to the queue.
If this timeout is exceeded then usage sharing will be disabled.
- Parameters
-
- milliseconds - Timeout to set
◆ SetAspSessionCookieName()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetAspSessionCookieName ( string cookieName ) Set the name of the cookie that contains the asp.net session id.
This setting has no effect if TrackSession is false.
- See also
- SetTrackSession(bool)
- Parameters
-
- cookieName - The name of the cookie that contains the asp.net session id.
◆ SetBlockedHttpHeader()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetBlockedHttpHeader ( string blockedHeader ) By default, all HTTP headers (excluding a few such as 'cookies') are shared.
Individual headers can be excluded from sharing by adding them to this list.
- Parameters
-
- blockedHeader - The (case insensitive) name of the header to block.
◆ SetBlockedHttpHeaders()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetBlockedHttpHeaders ( List< string > blockedHeaders ) By default, all HTTP headers (excluding a few such as 'cookies') are shared.
Individual headers can be excluded from sharing by adding them to this list.
- Parameters
-
- blockedHeaders - The (case insensitive) names of the headers to block.
◆ SetIgnoreFlowDataEvidenceFilter()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIgnoreFlowDataEvidenceFilter ( string evidenceFilter ) This setting can be used to stop the usage sharing element from sharing anything about specific requests.
For example, if you wanted to stop sharing any details from requests where the user-agent header was 'ABC', you would set this to "header.user-agent:ABC"
- Parameters
-
- evidenceFilter - Comma separated string containing entries in the format
. Any requests with evidence matching these entries will not be shared.[evidenceKey]:[evidenceValue]- Returns
◆ SetIncludedQueryStringParameter()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIncludedQueryStringParameter ( string queryStringParameterName ) By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.
This setting allows you to share these parameters with 51Degrees if needed.
- Parameters
-
- queryStringParameterName - The (case insensitive) name of the query string parameter to include.
◆ SetIncludedQueryStringParameters() [1/2]
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIncludedQueryStringParameters ( List< string > queryStringParameterNames ) By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.
This setting allows you to share these parameters with 51Degrees if needed.
- Parameters
-
- queryStringParameterNames - The (case insensitive) names of the query string parameters to include.
- Exceptions
-
- ArgumentNullException - Thrown if the parameter is null
◆ SetIncludedQueryStringParameters() [2/2]
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIncludedQueryStringParameters ( string queryStringParameterNames ) By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.
This setting allows you to share these parameters with 51Degrees if needed.
- Parameters
-
- queryStringParameterNames - A comma separated list of the (case insensitive) names of the query string parameters to include.
- Exceptions
-
- ArgumentNullException - Thrown if the parameter is null
◆ SetMaximumQueueSize()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetMaximumQueueSize ( int size ) Set the maximum number of entries to be stored in the queue to be sent.
This must be more than MinimumEntriesPerMessage.
By default, the value is calculated automatically based on the MinimumEntriesPerMessage setting.
- Parameters
-
- size - Size to set
◆ SetMinimumEntriesPerMessage()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetMinimumEntriesPerMessage ( int minimumEntriesPerMessage ) 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.
- Parameters
-
- minimumEntriesPerMessage - The minimum number of entries to be aggregated by the ShareUsageElement before they are sent to the remote service.
◆ SetRepeatEvidenceIntervalMinutes()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetRepeatEvidenceIntervalMinutes ( int interval ) If exactly the same evidence values are seen multiple times within this time limit then they will only be shared once.
- Parameters
-
- interval - The interval in minutes.
◆ SetShareAllEvidence()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetShareAllEvidence ( bool shareAll ) Configure the usage sharing element to share all evidence.
This will override all the other evidence filtering settings.
- Parameters
-
- shareAll - If set to true then all evidence will be shared
- Returns
- This builder instance
◆ SetShareAllQueryStringParameters()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetShareAllQueryStringParameters ( bool shareAll ) Configure the usage sharing element to share all query string and HTTP form parameters.
- Parameters
-
- shareAll - If set to true then all query string parameters will be shared
- Returns
- This builder instance
◆ SetSharePercentage()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetSharePercentage ( double sharePercentage ) Set the percentage of data that the ShareUsageElement should be sharing.
- Parameters
-
- sharePercentage - The proportion of events sent to the pipeline that should be shared to 51Degrees. 1 = 100%, 0.5 = 50%, etc.
◆ SetShareUsageUrl() [1/2]
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetShareUsageUrl ( string shareUsageUrl ) Set the URL to use when sharing usage data.
- Parameters
-
- shareUsageUrl - The URL to use when sharing usage data.
◆ SetShareUsageUrl() [2/2]
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetShareUsageUrl ( Uri shareUsageUrl ) Set the URL to use when sharing usage data.
- Parameters
-
- shareUsageUrl - The URL to use when sharing usage data.
◆ SetTakeTimeout()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetTakeTimeout ( int milliseconds ) Set the timeout in milliseconds to allow when attempting to take an item from the queue in order to send to the remote service.
- Parameters
-
- milliseconds - Timeout to set
◆ SetTrackSession()
ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetTrackSession ( bool track ) If set to true, the configured session cookie will be used to identify user sessions.
This will help to differentiate duplicate values that should not be shared.
- See also
- SetAspSessionCookieName(string)
- Parameters
-
- track - Boolean value sets whether the usage element should track sessions.
- Returns
Member Data Documentation
◆ ShareUsageUrl
string FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.ShareUsageUrl => ShareUsageUri.AbsoluteUri protectedThe remote endpoint to send usage data to.
Property Documentation
◆ AddTimeout
int FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.AddTimeout = Constants.SHARE_USAGE_DEFAULT_ADD_TIMEOUT get protectedThe timeout in milliseconds to allow when attempting to add an item to the queue.
If this timeout is exceeded then usage sharing will be disabled.
◆ AspSessionCookieName
string FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.AspSessionCookieName = Engines.Constants.DEFAULT_ASP_COOKIE_NAME get protectedThe name of the cookie that contains the asp.net session id.
This is used to help prevent the same usage data being shared multiple times.
◆ BlockedHttpHeaders
List<string> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.BlockedHttpHeaders = new List<string>() get protectedA list of HTTP headers that should not be shared.
◆ IgnoreDataEvidenceFilter
List<KeyValuePair<string, string> > FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.IgnoreDataEvidenceFilter = new List<KeyValuePair<string, string>>() get protectedA collection of evidence keys and values which, if present, cause the event to be ignored for the purposes of usage sharing.
◆ IncludedQueryStringParameters
List<string> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.IncludedQueryStringParameters = new List<string>() get protectedA list of query string parameters to be shared.
◆ Logger
ILogger FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.Logger get protectedThe logger to be used by this builder
◆ LoggerFactory
ILoggerFactory FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.LoggerFactory get protectedThe logger factory used by this builder
◆ MaximumQueueSize
int FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.MaximumQueueSize get protectedSet the maximum number of entries to be stored in the queue to be sent.
This must be more than the minimum entries per message. By default, the value is calculated automatically based on the MinimumEntriesPerMessage setting.
◆ MinimumEntriesPerMessage
int FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.MinimumEntriesPerMessage = Constants.SHARE_USAGE_DEFAULT_MIN_ENTRIES_PER_MESSAGE get protectedThe minimum number of entries to be present in the XML PAyload before it is sent to the usage sharing endpoint.
◆ RepeatEvidenceInterval
int FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.RepeatEvidenceInterval = Constants.SHARE_USAGE_DEFAULT_REPEAT_EVIDENCE_INTERVAL get protectedWhere a set of evidence values exactly matches a previously seen set of evidence values, it will not be shared if that situation occurs within this time interval.
(in minutes)
◆ ShareAllEvidence
bool FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.ShareAllEvidence = false get protectedIf set to true then all evidence values will be shared.
◆ SharePercentage
double FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SharePercentage = Constants.SHARE_USAGE_DEFAULT_SHARE_PERCENTAGE get protectedThe approximate proportion of events to share.
Specified as a floating point number from 0 to 1.
◆ ShareUsageUri
Uri FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.ShareUsageUri = new Uri(Constants.SHARE_USAGE_DEFAULT_URL) get protectedThe remote endpoint to send usage data to.
◆ TakeTimeout
int FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.TakeTimeout = Constants.SHARE_USAGE_DEFAULT_TAKE_TIMEOUT get protectedThe timeout in milliseconds to allow when attempting to take an item from the queue in order to send to the remote service.
◆ TrackSession
bool FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.TrackSession get protectedControls whether session tracking is enabled or disabled.
If enabled, requests from a single user session will only be shared once.
- evidenceFilter - Comma separated string containing entries in the format