featurebase/dax/README.md
pokeeffe-molecula a1fc6d04a1 introduce performance counters and system table fanout, plus refactor metrics (#2363)
* performance counters

* first cut of perf counters and system table fanout and a wire protocol
* significantly refactored prometheus support; removed statsd and exprvar

* removed node_id

* put dax subquery test back

* Change Translator.TranslateFieldIDs method to take a dax.TableKeyer

There are a bunch of other calls to the Translator interface methods
with currently take an `index string`, and those need to be converted to
dax.TableKeyer as well. But I need to review each call, because in at
least one place I noticed one being called with `result.Index` instead
of with the qtbl available. And I don't yet know how those could be
different.

Co-authored-by: Travis Turner <travis@molecula.com>
(cherry picked from commit 7f6ea0e6e5)
2023-01-19 21:35:02 +00:00

64 lines
2.1 KiB
Markdown

# DAX
DAX encapsulates anything which covers all of the services which make up the
"disaggregation of storage and compute" project. Initially, this will include
integration tests which pull in things like Metadata Services (MDS), including
the Controller, as well as FeatureBase and IDK-based ingesters.
## Setting up the tests
The DAX test currently requires docker images for: `featurebase` and `datagen`.
If at any point you run into problems with go mod failing to reference a private
repo, make sure that you have `gitlab.com/featurebasedb` in your `GOPRIVATE`
environment variable.
Note that during the docker image build step, `go mod vendor` is run, which
creates a `vendor` directory in the root directory, and copies that to docker
during the build stage. Just be aware of this; you may want to remove that
vendor directory after you're done building docker images.
#### Possible Configuruation
The following were relevent when the dax code was in a separate repository.
These may no longer be relevant.
I needed to but this in my `~/.profile` file:
```export GOPRIVATE=github.com/featurebasedb,gitlab.com/featurebasedb```
And this in my `~/.gitconfig`
```
[url "ssh://git@github.com/"]
insteadOf = https://github.com/
[url "ssh://git@gitlab.com/"]
insteadOf = https://gitlab.com/
```
Then `make docker` ran successfully.
### Build the FeatureBase docker image
- Check out the
[dax](https://github.com/featurebasedb/featurebase/tree/dax)
branch of the
[featurebase](https://github.com/featurebasedb/featurebase) repository.
- Run `make docker-image-featurebase` to build the docker image
- You should now have an image in docker named `dax/featurebase` with the tag `latest`.
### Build the Datagen docker image
- `cd <featurebase_repo_root>/idk`
- Run `make docker-image-datagen` to build the docker image
- You should now have an image in docker named `dax/datagen` with the tag
`latest`.
## Running the tests
- Check out the
[dax](https://github.com/featurebasedb/featurebase/tree/dax)
branch of the
[featurebase](https://github.com/featurebasedb/featurebase) repository.
- Change into the `dax` directory: `cd dax`
- Run `make test-integration`.