Comments (9)
Thanks for the feedback. I answer your questions below:
-
As for the number of configurations generated, there is not yet a option to set the maximum number of configuration that CAMP generates. Note that this would only be relevant for the
--all
version, as I see a conflict between the number of configuration and the capacity to cover all single variations. I don't know if there are more than 10 configurations that are possible in the CityGo use case. I have to check this by hand and come back to you, but from the top of my hand, this looks like a bug :-) -
The docker-compose file is expected to be at the root of the template folder. I take not that it may be useful to define these settings.
-
@brice-morin just reported the issue on the
build_images.sh
and I am working on it (see Issue #23). -
As for the error when building the Docker images, I will investigate this asap.
from camp.
I just pushed a fix for Issue #23, so you may want to try with the docker images fchauvel/camp:dev, and let me know.
As for the error, when building the images I think the template directory misses many files that the Dockerfile refer to. I'm looking into other branches of the CAMP repositories but I haven't found them yet.
As for the option to limit the number of generated configurations, I just saw you already requested it Issue #14. I schedule this for the v0.3
from camp.
As for the fact that the number of configuration is the same when running with coverage or for all configurations, I think it results from the constraints that are set. I details how the constraints unfold at the end.
Here all variables are declared to the same component, and the values of variables depends on each other. This implies that all configurations are needed to cover all single variations.
There are three variables:
thread_limit
, which is either 64 or 128thread_per_child
, which ranges from 0 to 128, with a maximum coverage of 10. The actual values are therefore [0, 8, 16, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128].max_request_worker
which is not bounded.
There are the following constraints:
thread_limit
>thread_per_child
thread_per_child
* 16 =max_request_worker
- (
thread_per_child
>= 100 andmax_request_worker
>= 200) or (thread_limit
<= 64 andmax_request_worker
>= 2)
From Constraint 1 and the second part of Constraint 3, we know that thread_per_child
must be lower than thread_per_child, and therefore strictly lower than 64. This reduces its possible values to the range [0, 56]. From Constraint 2, max_request_worker
must be above 2, and also equals 16 * thread_per_child
, which rules out the value 0, leaving us with the range [8, 56].
From the first part of Constraint 1, we know that thread_per_child
must be above 100, which adds up the range [104, 112, 120, 128]. But from Constraint 1, thread_per_child
must strictly below thread_limit
, which invalidate value 128.
We are left with 10 possible values for thread_per_child
that are [8, 16, 24, 32, 40, 48, 56, 104, 112, 120]. In addition, we need one configuration to test every single value, so we need 10 configurations.
from camp.
Have you got any progress on the CityGo case? Can we help?
from camp.
Hi @fchauvel Yes, I completed the experimentation, thank you so much for your support. Your CAMP documentation is real awesome!
I generated the configurations using CAMP and injected them into our CI for instantiate CityGo and run stress tests. Everything has been reported in D5.6
from camp.
That's great!
If I may ask, would it be possible for you to share the missing files of the CityGo case-study, so that the repository is complete and other people can run it? I definitely understand if there are IPR constraints that prevent that, though.
from camp.
Hi @fchauvel Let me check with CityGo team if they have already released the source code. It was planned but I am not sure if I has been done.
from camp.
Hi @fchauvel I've contacted CityGo development team. They are planning to release CityGo CityDash source code in few weeks. I will keep you informed once we can get access the code.
from camp.
Closed as similar to #81
from camp.
Related Issues (20)
- Incorrect link in READ.me HOT 3
- Strange behavior in file where substitutions happens (purescript) HOT 1
- "Atomic" mode for CAMP generate HOT 2
- CAMP execute error on STAMP Demo server: docker cp fails with Docker error message message "must specify at least one container source" HOT 8
- Refactor JMeter support to handle JSON reports
- CAMP install process (script) does not work and/or never ends
- docker-compose up fails on XWiki sample HOT 1
- camp realize fails on CityGo example HOT 2
- docker-trace xp with strace on Lutece
- Split the repo HOT 4
- CAMP generate fails to find configurations when stacks involve transitive closure
- CAMP generate put multiple implementations of the same feature in single stacks
- Can't deploy Citygo configurations generate by CAMP HOT 2
- CAMP realize breaks multistage Dockerfile
- Invalid `build_images.sh` script
- Camp.yml template is not according docker descriptors on Citygo use case HOT 1
- CAMP fails on the CityGo case-study HOT 22
- CAMP does not remove all Docker images built by the `build_images.sh` script
- CAMP realize fails to select template files
- Recollect docker logs HOT 1
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 camp.