Snowplow Micro v1 uses the exact same validation with a production Snowplow pipeline, which is even stricter and so ensures that if Micro validates an event, then it cannot fail during the enrichment in production.
Micro now outputs the post-enrichment, canonical event (just with enrichments deactivated).
If you have been using the previous version (v0.1.0) in your test suites, you can easily upgrade to the new version (recommended). The steps include:
Point to the newest v1 version 1.2.1 of Micro in your docker run command or in your docker-compose.yml file.
Modify the configuration for Micro, an example of which can be found in the micro.conf file here.
The response format for GoodEvents has changed, since Micro now outputs the post-enrichment event. This means that if in your tests you were filtering on GoodEvents through the /micro/good endpoint, you will need to change:
the expected values for eventType.
the event specific fields, that were transformed for enrichment. Some of them are in the table below, but you can see all of the transformations here. Note: The unstruct_event and contexts fields have already parsed the ue_pr and co and have already decoded and parsed the ue_px and cx raw event fields respectively.
the structure you expect. The event that was the output of Micro’s v0, now corresponds to the rawEvent field of the event output of v1. A partial example of a GoodEvent follows, showing the structure and highlight the differences described above:
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
The JSESSIONID cookie is used by New Relic to store a session identifier so that New Relic can monitor session counts for an application.
This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
Set by Google to distinguish users.
GitHub sets this cookie for temporary application and framework state between pages like what step the user is on in a multiple step form.
Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
The pardot cookie is set while the visitor is logged in as a Pardot user. The cookie indicates an active session and is not used for tracking.
JetPack sets this cookie to store a randomly-generated anonymous ID which is used only within the admin area and for general analytics tracking.
JetPack sets this cookie to record details on how user's use the website.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
The driftt_aid cookie is an anonymous identifier token set by Drift.com for tracking purposes and helps to tie the visitor onto the website. The cookie also allows Drift to remember the information provided by the site visitor, through the chat on successive site visits.
This cookie is set by the host c.jabmo.app. This cookie is used to serve the content based on user interest and improve content creation.