\r\n

51Degrees Pipeline Python  4.4

51Degrees Pipeline for Python

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage Class Reference

Inheritance diagram for fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage:

[legend]

Collaboration diagram for fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage:

[legend]

Public Member Functions

def  __init__ (self, interval=1200, requested_package_size=10, cookie=None, query_whitelist=[], header_blacklist=[], share_percentage=1, endpoint="https://devices-v4.51degrees.com/new.ashx", request_timeout=REQUEST_TIMEOUT)
Constructor for ShareUsage element. More...
def  __del__ (self)
def  get_constant_xml (self)
def  get_flow_elements (self)
def  get_evidence_key_filter (self)
The share useage element comes with its own evidence key filter that uses the whitelists and blacklists to determine which evidence to share. More...
def  share_send_usage (self)
Internal method to send the share usage bundle to the 51Degrees servers. More...
def  send_thread (self, endpoint, data)
def  add_to_share_usage (self, data)
Internal method which adds to the share usage bundle (generating XML) @type key: dict. More...
def  process_internal (self, flow_data)
Internal process method which uses the ShareUsageTracker to determine whether to add usage data to a batch and adds it if necessary. More...
def  get_data_from_evidence (self, flow_data)
Creates a ShareUsageData instance populated from the evidence within the flow data provided. More...

Public Member Functions inherited from fiftyone_pipeline_engines.engine.Engine

def  __init__ (self, data_file=None)
Constructor for an engine. More...
def  set_cache (self, cache)
Add a cache to an engine @type cashe: Cache. More...
def  set_restricted_properties (self, properties_list)
Add a subset of properties. More...
def  in_cache (self, flowdata)
A method to check if a flowdata's evidence is in the cache. More...
def  refresh (self, identifier)
def  process (self, flowdata)
Engine's core process function. More...
def  on_registration (self, pipeline)
Called when an engine is registered with a pipeline and if there is a data file, a data file update service is attached to the parent pipeline. More...
def  register_data_file (self, data_file)
Register a data_file of the DataFile class with the engine @type data_file: DataFile. More...

Public Member Functions inherited from fiftyone_pipeline_core.flowelement.FlowElement

def  __init__ (self)
List of Pipelines the FlowElement has been added to. More...
def  filter_evidence (self, flowdata)
Filter FlowData evidence using the FlowElement's EvidenceKeyFilter. More...
def  filter_evidence_key (self, key)
Filter FlowData.evidence using the flowElement's EvidenceKeyFilter with the property key of evidence of interest. More...
def  get_properties (self)
Get the FlowElement.properties of a FlowElement. More...

Public Attributes

 query_whitelist
 header_blacklist  datakey  interval  requested_package_size  cookie  share_percentage  endpoint  request_timeout  tracker  share_data  constant_xml  thread_pool

Public Attributes inherited from fiftyone_pipeline_engines.engine.Engine

 data_file  cache  restricted_properties

Public Attributes inherited from fiftyone_pipeline_core.flowelement.FlowElement

 pipelines  properties  datakey  exclude_from_messages

Constructor & Destructor Documentation

◆ __init__()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.__init__ (   self,
  interval = 1200,
  requested_package_size = 10,
  cookie = None,
  query_whitelist = [],
  header_blacklist = [],
  share_percentage = 1,
  endpoint = "https://devices-v4.51degrees.com/new.ashx",
  request_timeout = REQUEST_TIMEOUT  
)

Constructor for ShareUsage element.

@type interval: int

Parameters
interval - If exactly the same evidence values are seen multiple times within this time limit (in seconds) then they will only be shared once. @type requested_package_size: int
requested_package_size - 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. @type cookie: string
cookie - If a cookie is being used to identify user sessions, it can be specified here in order to reduce the sharing of duplicated data. @type query_whitelist: list
query_whitelist - 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. @type query_blacklist: list
query_blacklist - By default, all HTTP headers (except a few, such as Cookies) are shared. Individual headers can be excluded from sharing by adding them to this list. @type share_percentage : float
share_percentage - approximate proportion of requests to be shared. 1 = 100%, 0.5 = 50%, etc..

◆ __del__()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.__del__ (   self )

Member Function Documentation

◆ add_to_share_usage()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.add_to_share_usage (   self,
  data  
)

Internal method which adds to the share usage bundle (generating XML) @type key: dict.

Parameters
key - data value store of current evidence in FlowData

◆ get_constant_xml()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.get_constant_xml (   self )

◆ get_data_from_evidence()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.get_data_from_evidence (   self,
  flow_data  
)

Creates a ShareUsageData instance populated from the evidence within the flow data provided.

Parameters
{FlowData} - flowData the flow data containing the evidence to use
Returns
a new ShareUsageData instance, populated from the evidence provided

◆ get_evidence_key_filter()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.get_evidence_key_filter (   self )

The share useage element comes with its own evidence key filter that uses the whitelists and blacklists to determine which evidence to share.

Reimplemented from fiftyone_pipeline_core.flowelement.FlowElement.

◆ get_flow_elements()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.get_flow_elements (   self )

◆ process_internal()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.process_internal (   self,
  flow_data  
)

Internal process method which uses the ShareUsageTracker to determine whether to add usage data to a batch and adds it if necessary.

@type flow_data: FlowData

Parameters
flow_data - FlowData to process

Reimplemented from fiftyone_pipeline_core.flowelement.FlowElement.

◆ send_thread()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.send_thread (   self,
  endpoint,
  data  
)

◆ share_send_usage()

def fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.share_send_usage (   self )

Internal method to send the share usage bundle to the 51Degrees servers.

Member Data Documentation

◆ constant_xml

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.constant_xml

◆ cookie

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.cookie

◆ datakey

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.datakey

◆ endpoint

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.endpoint

◆ header_blacklist

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.header_blacklist

◆ interval

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.interval

◆ query_whitelist

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.query_whitelist

◆ request_timeout

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.request_timeout

◆ requested_package_size

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.requested_package_size

◆ share_data

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.share_data

◆ share_percentage

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.share_percentage

◆ thread_pool

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.thread_pool

◆ tracker

fiftyone_pipeline_engines_fiftyone.share_usage.ShareUsage.tracker
On This Page