Comments (6)
So, I think each upload of run that is not parsed into repo-native structure should consist of (test, schema, data-matching-the-schema). For each allowed schema the test will define bunch of jsonpath-ish transformations that will select these generic arguments + view. Ofc the schema will be validated here as well.
from horreum.
@rvansa I don't think I understand what you mean by
consist of (test, schema, data-matching-the-schema)
Right now RunService.addRunFromData
is exposed as POST /run/data
and accepts 3 query params (start, stop, test) in addition to the json post body. The query params can be either jsonpath (starting with $.
) or string literals that are parsed into the expected format (e.g. parsing an ISO data string or treating test as the ID or name of an existing test)
There is also RunService.addHyperfoilRun
exposed as POST /run/hyperfoil
which is the same as using /run/data
with start=$.info.startTime
stop=$.info.terminateTime
and test=$.info.benchmark
In both cases, a new test will be created if the test query parameter does not find an existing test definition.
Do you think we should create a new test definitions based on $.info.benchmark
by default?
Do you think the uploaded json to /run/hyperfoil
should first get validated against the most recent hyperfoil json-schema?
from horreum.
Right now
RunService.addRunFromData
is exposed asPOST /run/data
and accepts 3 query params (start, stop, test) in addition to the json post body. The query params can be either jsonpath (starting with$.
) or string literals that are parsed into the expected format (e.g. parsing an ISO data string or treating test as the ID or name of an existing test)
There is alsoRunService.addHyperfoilRun
exposed asPOST /run/hyperfoil
which is the same as using/run/data
withstart=$.info.startTime
stop=$.info.terminateTime
andtest=$.info.benchmark
In both cases, a new test will be created if the test query parameter does not find an existing test definition.
Okay, I have assumed that tests should be defined first and the upload should fail if it's not, as a precaution to mistyping the test name. I grok that not requiring to create it is convenient, though. This workflow just says that the json
-> view
transformation can come later. That also means that schema is optional in the sense of using some __any
schema if there is no query param nor $schema
key in the input.
I am not very fond of the addHyperfoilRun
endpoint; Ideally I would keep the transformation as data rather than hardcoding it. If a run comes declaring schema belonging to Hyperfoil, it decide based on that.
Do you think we should create a new test definitions based on
$.info.benchmark
by default?
You've convinced me; yes. In my eyes that makes schemas the first-level citizen, storing any transformation for schema only, not for (test, schema) tuple.
Do you think the uploaded json to
/run/hyperfoil
should first get validated against the most recent hyperfoil json-schema?
Note that the Hyperfoil schema is for benchmark; all.json
schema is yet to come. If a benchmark declares schema that's unknown to repo, it can't validate it but I don't think it has to refuse the upload. There should be exclamation marks in the UI, though.
from horreum.
I've just noticed that view
is defined in Test table; I though that view
is a cached excerpt from full Run's data - does it have a different purpose than I thought?
from horreum.
Oh gosh there's javascript in the DB! I found the tab...
from horreum.
I think this is done. Schema entity now defines the paths to fetch those parameters from the JSON.
from horreum.
Related Issues (20)
- Calculation Function on a Change Detection Variable not getting persisted. HOT 2
- Fingerprints not rendering correctly in `Changes` view
- Remove remaining triggers from `SchemaService.addOrUpdateLabel`, reimplement `recalc_dataset_view`
- When label values are being recalculated, the dataset view should display a warning instead of blank field
- Fully remove `view_recalc_queue` table
- Report preview is broken in 0.9.6 HOT 1
- Private Schemas are visibile in the schema list when user not logged in
- Evaluating experiment window not loading. HOT 3
- Leaking result sets and Statements
- Dev services does not configure keycloak correctly if http.port or http.host are overridden
- Document how to import and export schema/test deinifitons
- Operator deployment guide is outdated w/ broken links HOT 1
- Detail how each change point detection algorithm works
- improve guide(s) when using special chars in curl statements
- Docs on Running Horreum locally now outdated. HOT 2
- Document how run time-series data can be handled/processed in horreum
- Disabled test `HorreumClientIT.runExperiment()` is failing HOT 1
- Publish integration-test test resources
- downgrade target version of `horreum-infra-common` and `horreum-integration-tests` to JDK 11
- Publish artefact sources to maven central
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from horreum.