Skip to main content

Overview

The GAWSEED processing system allows easy statistical analysis of time-series data via simple YAML configuration files. This architecture:

  • Collect information from data sources
  • Transform it to a standardized tab-separated format (called [FSDB])
  • Temporally bin, count and tabulate features within the dataset, producing a triple indexed output
  • Manipulate individual results using aggregation functions
  • Use extensible mathematical functions to combine multi-column datasets into final temporal waveform that are suitable for feature detection
  • Perform simple, distributed edge-detection to identify signals of interest.

Architecture

Architecture Image

Incoming Data Source and Filter

Data Formatter

Feature Counter

The Feature Counter component is responsible for converting all timeseries records into ``time bins'' and simultaneously counting or quantifying the data. The output records will consist of named index keywords extracted from the YAML configuration, and a key and subkey value that is extracted from the data itself (if the second subkey column is not needed, an empty string is typically used).

Example feature counter yaml config:

binSize: 5
timeColumn: time
featureCounter:
  outputs:
    http_host_names:
      function: gawseed.algorithm.generic.re_match_one
      arguments: ['col(dnsname)', '.*https?://(^[/]+)/.*']
    http_type:
      function: gawseed.algorithm.generic.re_match_one
      arguments: ['col(dnsname)', '(https:|http:)']

Aggregator

The aggregator component of the GAWSEED architecture is responsible for performing any calculations that require a complete dataset for a given combination of the set <timebin, index, key>. Summing values from distributed operations and counting of unique subkeys are the most common computations that occur at this step.

An example YAML configuration for this step in the data architecture is shown in below. This outputs both the total counts of the things counted in the featureCounter step(s), and counts the number of unique http_host_names values seen as well.

Example YAML configuration for the aggregator:

aggregator:
  aggregators:
    - function: summer
    - function: unique
      arguments: ['http_host_names', 'unique_http_host_names']

Relationship Analyzer

The Relationship Analyzer is where any heavy final math is performed. For example, in the example data in this document, we may want to calculate the ``popularity'' of each discovered http_host_names. The YAML configuration to do this is shown below:

relationshipAnalysis:
  outputs:
    host_name_popularity_fraction:
      function: fraction_otherindex_keyval
      arguments:
        - unique_http_host_names
        - http_host_names

Note that the Relationship Analyzer also pivots the table back to a more normal looking table (at least for humans), as the distributed processing aspects of the calculations are now over; specifically, the previous index values are converted back into table columns.

Edge Detection and Result Analysis

TBD

Copyright

Metadata

Release files for gawseed-processing 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gawseed-processing 0.9.1
File Size Uploaded
gawseed-processing-0.9.1.tar.gz 30.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gawseed-processing 0.9.1
File Interpreter ABI Platform
gawseed_processing-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 98.6 kB

Release files / gawseed-processing-0.9.1.tar.gz

Download URL gawseed-processing-0.9.1.tar.gz
Size 30.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0d4457c103c9fa6a26e4a92b63758b9ba580800a7052b6d951b74adcf7b3cf42
BLAKE2b-256 checksum
How to use checksums
ee86b5bc1e1d69f295665fae55eaf9bbec0b061a5e188f23a9e40ccfcdbee7dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.2 pkginfo/1.4.2 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.6

Release files / gawseed_processing-0.9.1-py3-none-any.whl

Download URL gawseed_processing-0.9.1-py3-none-any.whl
Size 67.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97b1639b559a091f18a2312cfcb3eb5a1127a02645967ea5bbbd684825b94fa5
BLAKE2b-256 checksum
How to use checksums
9f7607d8a243fe1ef7c77929bf1b46222982516acb634cba6eaae9a35ba14559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.2 pkginfo/1.4.2 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.9.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page