Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Move Test Metrics Code to Agent #7257

Merged
merged 7 commits into from
May 3, 2019
Merged

Conversation

kj4ezj
Copy link
Contributor

@kj4ezj kj4ezj commented May 3, 2019

Change Description

Background
Currently, we have an Amazon Lambda function which receives webhook events when a test job finishes in Buildkite, processes test metrics from that job, and sends those test metrics to our cloud tools.

Problem
Automation has observed log files in excess of 350 MB and XML files approaching 100 MB in size. Strings are immutable in JavaScript and node.js limits heap size to 512 MB by default, so parsing a 350 MB log file means that we can't even copy the string once during parsing without blowing our heap memory. We expect log file sizes to grow over time, and our infrastructure needs to function independent of Blockchain's log sizes.

Solution
This pull request takes the eosTestMetrics.js code from auto-events-subscribers that currently runs in an Amazon Lambda and runs it on an agent as part of the Buildkite job instead. This side-steps the problem by giving our test metrics and test diagnostics code access to lots of RAM and a very fast processor with a lot of cores. This will make our test metrics more reliable.

All of the code added in this pull request will be migrated to auto-buildkite-pipelines when we centralize the eos pipeline.

See auto-buildkite-pipelines pull request 100 for more information.

Universal Pipeline Configuration File

I also added the universal pipeline configuration file described in auto-buildkite-pipelines pull request 99.

Consensus Changes

  • Consensus Changes
    None.

API Changes

  • API Changes
    None.

Documentation Additions

  • Documentation Additions
    None.

@kj4ezj kj4ezj marked this pull request as ready for review May 3, 2019 17:23
@kj4ezj kj4ezj merged commit 3a0fc02 into release/1.7.x May 3, 2019
@kj4ezj kj4ezj deleted the zach-1.7-test-metrics branch May 3, 2019 17:30
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants