-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(prometheus): metrics.ts leaks to global registry #1202
Labels
Milestone
Comments
petermetz
added
bug
Something isn't working
API_Server
dependencies
Pull requests that update a dependency file
labels
Aug 10, 2021
petermetz
added a commit
to petermetz/cacti
that referenced
this issue
Aug 10, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
added a commit
to petermetz/cacti
that referenced
this issue
Aug 10, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
added a commit
to petermetz/cacti
that referenced
this issue
Aug 10, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
added a commit
that referenced
this issue
Aug 12, 2021
1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
hanxu12
pushed a commit
to hanxu12/cactus
that referenced
this issue
Aug 14, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: hxlaf <xuhan@lafayette.edu>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Aug 17, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Aug 17, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Sep 13, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Sep 19, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Sep 22, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Sep 27, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Oct 5, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Oct 7, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
maramih
pushed a commit
to maramih/cactus
that referenced
this issue
Oct 17, 2021
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Mar 9, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Mar 9, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Mar 11, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Apr 6, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
May 10, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
May 17, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
added a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Jul 1, 2022
…i#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Jul 19, 2022
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Jul 19, 2022
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Aug 2, 2022
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Aug 2, 2022
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Aug 3, 2022
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Apr 2, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Apr 3, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Apr 12, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Apr 15, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Apr 16, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Apr 24, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
May 22, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Jun 4, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Jul 14, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
brunoffmateus
pushed a commit
to brunoffmateus/blockchain-integration-framework
that referenced
this issue
Jul 25, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Jul 26, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Aug 9, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Aug 14, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Aug 23, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
petermetz
pushed a commit
to LordKubaya/cacti_fork
that referenced
this issue
Aug 29, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
petermetz
pushed a commit
to petermetz/cacti
that referenced
this issue
Sep 30, 2024
Squashed together the commits on the satp-dev branch to make it easier to rebase onto upstream/main. The list of commits that were squashed: feat(satp-Hermes): gateway refactor WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): fix build bugs and hanging tests Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(satp-hermes): fix hanging tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): fix cspell and lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(satp-hermes): add API1 layer WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): BLO API specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add BLO layer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix status endpoint and spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> ci(satp-hermes): rebase and update ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(satp-hermes): migrate BLO open api spec from json to yml Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update Go BLO SDK generation Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add health check endpoint to BLO spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): remove deprecated spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> ci(satp-hermes): re-activate satp-hermes ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup: update package json, ci, yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(satp-hermes): add protobuf gateway refactor Authored by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp proto update (hyperledger-cacti#3147) * feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> --------- Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): core stage services message names update Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): gRPC server start implementation and gateway_refactor in handlers Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): satp proto update also updates yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): update yarn, comment method fix(satp-hermes): update yarn ci(satp-hermes): fix bungee and satp ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): delete Kotlin SDK, add Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(satp-hermes): add gateway client Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): re-add message proto Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup(satp-hermes): remove test protos and endpoints Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): gRPC services draft implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): stage1-service and handler refactored Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes):stage2-service and handler refactored server-side Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service handlers server Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): client stage handlers refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fixup(satp-hermes): add skeleton for satp-bridge Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): rename generated code for gateway and blo Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix knex path for old gateway tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update protos and services Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee-hermes): viewProof & ethereum strategy * Views have new attribute viewProof * This attribute has the roots of all state proofs and transaction proofs in the view * Added new endpoint to verify integrity of view proofs * Created strategy for bungee-hermes to support the ethereum-connector * Created new test for the strategy-ethereum, and altered the API test to test the new viewProof endpoint * Updated documentation to reflect new changes. * Fixes in Fabric Strategy, stateProofs and error handling Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: eslint all Signed-off-by: Rafael Belchior <rbelchior@blockdaemon.com> chore(satp-hermes): rebase with cacti main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp development continuation and implementation satp protocol (hyperledger-cacti#3397) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fabric and besu bridges, wrapper contracts with ontology (hyperledger-cacti#3382) feat(satp-hermes): added forge to compile solidity contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix: rebase with main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): added generated code (hyperledger-cacti#3443) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): run sequencial instead of paralel (hyperledger-cacti#3445) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cc-tx-visualization): initial commit Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(cc-tx-visualization): capture transactional data with RxJS The plugin now utilizes RxJS instead of RabbitMQ in transaction monitoring. ReplaySubjects store and emit observed transactional data to subscribers. fix(cc-tx-visualization): rebase latest version Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> squash! - migrate a test case to Fabric v2.5.6 LTS AIO This is just a snippet of a change from the pair programming call with Bruno, it can be safely squashed, no worries. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(cc-tx-visualization): ccmodel serialization with PM4PY The plugin now creates the ccmodel for conformance checking with PM4PY. Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(hephaestus): analyse transactions using hephaestus The plugin is now able to: Create a Cross-Chain Model based on monitored transactions Compare new transactions against the model and detect non-conformance Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(satp-hermes): add skeleton for stage0 Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> feat(satp-hermes): services tests bug correction session functionalities Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): errors file and other fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fix packages versions Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): add satp-plugin cli (wip) Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): fix satp build process Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp-manager and gol refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix handler and service intialization Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): service errors and some stage bugs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): satp rejection Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): handler bug correction and errors Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): bridge erros and log messages Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some error fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some fixes requested Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): stage0, bug fixing and test e2e Co-authored-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): error messages in stage0 Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service tests added stage0 and error handling Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): test e2e Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix bugs and test e2e working transfer Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(stap-hermes): bugs and 2 gateway test Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): openApi transact implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): improve admin endpoints Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): added gateways and contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> refactor(cbdc-example): update with new satp-plugin Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> < refactor(cbdc-app): frontend update and some fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(satp-hermes): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cbdc): final fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(cbdc-example): remove unecessary variable Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): remove unessary logs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): docker ports Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> docs(example-cbdc): update frontend to match new functionality * Separated Transfer functionality into local blockchain transfers and cross-chain transfers * Added new table with the state of token approvals made to the bridge * Highlight cross-chain functionality with red coloring * add helper page with instructions on how to use app Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> docs(cbdc-example): remove unused variables and unused code * Created new Docker Image and updated README.md Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
pushed a commit
to petermetz/cacti
that referenced
this issue
Sep 30, 2024
Squashed together the commits on the satp-dev branch to make it easier to rebase onto upstream/main. The list of commits that were squashed: feat(satp-Hermes): gateway refactor WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): fix build bugs and hanging tests Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(satp-hermes): fix hanging tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): fix cspell and lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(satp-hermes): add API1 layer WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): BLO API specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add BLO layer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix status endpoint and spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> ci(satp-hermes): rebase and update ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(satp-hermes): migrate BLO open api spec from json to yml Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update Go BLO SDK generation Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add health check endpoint to BLO spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): remove deprecated spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> ci(satp-hermes): re-activate satp-hermes ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup: update package json, ci, yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(satp-hermes): add protobuf gateway refactor Authored by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp proto update (hyperledger-cacti#3147) * feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> --------- Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): core stage services message names update Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): gRPC server start implementation and gateway_refactor in handlers Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): satp proto update also updates yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): update yarn, comment method fix(satp-hermes): update yarn ci(satp-hermes): fix bungee and satp ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): delete Kotlin SDK, add Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(satp-hermes): add gateway client Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): re-add message proto Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup(satp-hermes): remove test protos and endpoints Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): gRPC services draft implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): stage1-service and handler refactored Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes):stage2-service and handler refactored server-side Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service handlers server Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): client stage handlers refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fixup(satp-hermes): add skeleton for satp-bridge Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): rename generated code for gateway and blo Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix knex path for old gateway tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update protos and services Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee-hermes): viewProof & ethereum strategy * Views have new attribute viewProof * This attribute has the roots of all state proofs and transaction proofs in the view * Added new endpoint to verify integrity of view proofs * Created strategy for bungee-hermes to support the ethereum-connector * Created new test for the strategy-ethereum, and altered the API test to test the new viewProof endpoint * Updated documentation to reflect new changes. * Fixes in Fabric Strategy, stateProofs and error handling Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: eslint all Signed-off-by: Rafael Belchior <rbelchior@blockdaemon.com> chore(satp-hermes): rebase with cacti main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp development continuation and implementation satp protocol (hyperledger-cacti#3397) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fabric and besu bridges, wrapper contracts with ontology (hyperledger-cacti#3382) feat(satp-hermes): added forge to compile solidity contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix: rebase with main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): added generated code (hyperledger-cacti#3443) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): run sequencial instead of paralel (hyperledger-cacti#3445) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cc-tx-visualization): initial commit Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(cc-tx-visualization): capture transactional data with RxJS The plugin now utilizes RxJS instead of RabbitMQ in transaction monitoring. ReplaySubjects store and emit observed transactional data to subscribers. fix(cc-tx-visualization): rebase latest version Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> squash! - migrate a test case to Fabric v2.5.6 LTS AIO This is just a snippet of a change from the pair programming call with Bruno, it can be safely squashed, no worries. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(cc-tx-visualization): ccmodel serialization with PM4PY The plugin now creates the ccmodel for conformance checking with PM4PY. Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(hephaestus): analyse transactions using hephaestus The plugin is now able to: Create a Cross-Chain Model based on monitored transactions Compare new transactions against the model and detect non-conformance Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(satp-hermes): add skeleton for stage0 Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> feat(satp-hermes): services tests bug correction session functionalities Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): errors file and other fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fix packages versions Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): add satp-plugin cli (wip) Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): fix satp build process Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp-manager and gol refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix handler and service intialization Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): service errors and some stage bugs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): satp rejection Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): handler bug correction and errors Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): bridge erros and log messages Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some error fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some fixes requested Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): stage0, bug fixing and test e2e Co-authored-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): error messages in stage0 Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service tests added stage0 and error handling Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): test e2e Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix bugs and test e2e working transfer Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(stap-hermes): bugs and 2 gateway test Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): openApi transact implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): improve admin endpoints Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): added gateways and contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> refactor(cbdc-example): update with new satp-plugin Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> < refactor(cbdc-app): frontend update and some fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(satp-hermes): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cbdc): final fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(cbdc-example): remove unecessary variable Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): remove unessary logs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): docker ports Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> docs(example-cbdc): update frontend to match new functionality * Separated Transfer functionality into local blockchain transfers and cross-chain transfers * Added new table with the state of token approvals made to the bridge * Highlight cross-chain functionality with red coloring * add helper page with instructions on how to use app Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> docs(cbdc-example): remove unused variables and unused code * Created new Docker Image and updated README.md Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
pushed a commit
to petermetz/cacti
that referenced
this issue
Oct 2, 2024
Squashed together the commits on the satp-dev branch to make it easier to rebase onto upstream/main. The list of commits that were squashed: feat(satp-Hermes): gateway refactor WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): fix build bugs and hanging tests Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(satp-hermes): fix hanging tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): fix cspell and lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(satp-hermes): add API1 layer WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): BLO API specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add BLO layer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix status endpoint and spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> ci(satp-hermes): rebase and update ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(satp-hermes): migrate BLO open api spec from json to yml Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update Go BLO SDK generation Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add health check endpoint to BLO spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): remove deprecated spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> ci(satp-hermes): re-activate satp-hermes ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup: update package json, ci, yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(satp-hermes): add protobuf gateway refactor Authored by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp proto update (hyperledger-cacti#3147) * feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> --------- Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): core stage services message names update Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): gRPC server start implementation and gateway_refactor in handlers Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): satp proto update also updates yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): update yarn, comment method fix(satp-hermes): update yarn ci(satp-hermes): fix bungee and satp ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): delete Kotlin SDK, add Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(satp-hermes): add gateway client Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): re-add message proto Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup(satp-hermes): remove test protos and endpoints Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): gRPC services draft implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): stage1-service and handler refactored Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes):stage2-service and handler refactored server-side Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service handlers server Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): client stage handlers refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fixup(satp-hermes): add skeleton for satp-bridge Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): rename generated code for gateway and blo Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix knex path for old gateway tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update protos and services Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee-hermes): viewProof & ethereum strategy * Views have new attribute viewProof * This attribute has the roots of all state proofs and transaction proofs in the view * Added new endpoint to verify integrity of view proofs * Created strategy for bungee-hermes to support the ethereum-connector * Created new test for the strategy-ethereum, and altered the API test to test the new viewProof endpoint * Updated documentation to reflect new changes. * Fixes in Fabric Strategy, stateProofs and error handling Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: eslint all Signed-off-by: Rafael Belchior <rbelchior@blockdaemon.com> chore(satp-hermes): rebase with cacti main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp development continuation and implementation satp protocol (hyperledger-cacti#3397) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fabric and besu bridges, wrapper contracts with ontology (hyperledger-cacti#3382) feat(satp-hermes): added forge to compile solidity contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix: rebase with main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): added generated code (hyperledger-cacti#3443) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): run sequencial instead of paralel (hyperledger-cacti#3445) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cc-tx-visualization): initial commit Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(cc-tx-visualization): capture transactional data with RxJS The plugin now utilizes RxJS instead of RabbitMQ in transaction monitoring. ReplaySubjects store and emit observed transactional data to subscribers. fix(cc-tx-visualization): rebase latest version Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> squash! - migrate a test case to Fabric v2.5.6 LTS AIO This is just a snippet of a change from the pair programming call with Bruno, it can be safely squashed, no worries. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(cc-tx-visualization): ccmodel serialization with PM4PY The plugin now creates the ccmodel for conformance checking with PM4PY. Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(hephaestus): analyse transactions using hephaestus The plugin is now able to: Create a Cross-Chain Model based on monitored transactions Compare new transactions against the model and detect non-conformance Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(satp-hermes): add skeleton for stage0 Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> feat(satp-hermes): services tests bug correction session functionalities Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): errors file and other fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fix packages versions Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): add satp-plugin cli (wip) Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): fix satp build process Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp-manager and gol refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix handler and service intialization Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): service errors and some stage bugs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): satp rejection Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): handler bug correction and errors Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): bridge erros and log messages Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some error fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some fixes requested Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): stage0, bug fixing and test e2e Co-authored-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): error messages in stage0 Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service tests added stage0 and error handling Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): test e2e Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix bugs and test e2e working transfer Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(stap-hermes): bugs and 2 gateway test Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): openApi transact implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): improve admin endpoints Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): added gateways and contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> refactor(cbdc-example): update with new satp-plugin Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> < refactor(cbdc-app): frontend update and some fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(satp-hermes): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cbdc): final fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(cbdc-example): remove unecessary variable Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): remove unessary logs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): docker ports Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> docs(example-cbdc): update frontend to match new functionality * Separated Transfer functionality into local blockchain transfers and cross-chain transfers * Added new table with the state of token approvals made to the bridge * Highlight cross-chain functionality with red coloring * add helper page with instructions on how to use app Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> docs(cbdc-example): remove unused variables and unused code * Created new Docker Image and updated README.md Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
LordKubaya
pushed a commit
to LordKubaya/cacti_fork
that referenced
this issue
Oct 2, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
petermetz
pushed a commit
to petermetz/cacti
that referenced
this issue
Oct 2, 2024
Squashed together the commits on the satp-dev branch to make it easier to rebase onto upstream/main. The list of commits that were squashed: feat(satp-Hermes): gateway refactor WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): fix build bugs and hanging tests Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(satp-hermes): fix hanging tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): fix cspell and lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(satp-hermes): add API1 layer WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): BLO API specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add BLO layer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix status endpoint and spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> ci(satp-hermes): rebase and update ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(satp-hermes): migrate BLO open api spec from json to yml Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update Go BLO SDK generation Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add health check endpoint to BLO spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): remove deprecated spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> ci(satp-hermes): re-activate satp-hermes ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup: update package json, ci, yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(satp-hermes): add protobuf gateway refactor Authored by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp proto update (hyperledger-cacti#3147) * feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> --------- Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): core stage services message names update Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): gRPC server start implementation and gateway_refactor in handlers Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): satp proto update also updates yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): update yarn, comment method fix(satp-hermes): update yarn ci(satp-hermes): fix bungee and satp ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): delete Kotlin SDK, add Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(satp-hermes): add gateway client Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): re-add message proto Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup(satp-hermes): remove test protos and endpoints Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): gRPC services draft implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): stage1-service and handler refactored Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes):stage2-service and handler refactored server-side Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service handlers server Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): client stage handlers refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fixup(satp-hermes): add skeleton for satp-bridge Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): rename generated code for gateway and blo Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix knex path for old gateway tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update protos and services Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee-hermes): viewProof & ethereum strategy * Views have new attribute viewProof * This attribute has the roots of all state proofs and transaction proofs in the view * Added new endpoint to verify integrity of view proofs * Created strategy for bungee-hermes to support the ethereum-connector * Created new test for the strategy-ethereum, and altered the API test to test the new viewProof endpoint * Updated documentation to reflect new changes. * Fixes in Fabric Strategy, stateProofs and error handling Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: eslint all Signed-off-by: Rafael Belchior <rbelchior@blockdaemon.com> chore(satp-hermes): rebase with cacti main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp development continuation and implementation satp protocol (hyperledger-cacti#3397) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fabric and besu bridges, wrapper contracts with ontology (hyperledger-cacti#3382) feat(satp-hermes): added forge to compile solidity contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix: rebase with main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): added generated code (hyperledger-cacti#3443) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): run sequencial instead of paralel (hyperledger-cacti#3445) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cc-tx-visualization): initial commit Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(cc-tx-visualization): capture transactional data with RxJS The plugin now utilizes RxJS instead of RabbitMQ in transaction monitoring. ReplaySubjects store and emit observed transactional data to subscribers. fix(cc-tx-visualization): rebase latest version Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> squash! - migrate a test case to Fabric v2.5.6 LTS AIO This is just a snippet of a change from the pair programming call with Bruno, it can be safely squashed, no worries. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(cc-tx-visualization): ccmodel serialization with PM4PY The plugin now creates the ccmodel for conformance checking with PM4PY. Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(hephaestus): analyse transactions using hephaestus The plugin is now able to: Create a Cross-Chain Model based on monitored transactions Compare new transactions against the model and detect non-conformance Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(satp-hermes): add skeleton for stage0 Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> feat(satp-hermes): services tests bug correction session functionalities Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): errors file and other fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fix packages versions Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): add satp-plugin cli (wip) Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): fix satp build process Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp-manager and gol refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix handler and service intialization Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): service errors and some stage bugs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): satp rejection Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): handler bug correction and errors Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): bridge erros and log messages Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some error fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some fixes requested Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): stage0, bug fixing and test e2e Co-authored-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): error messages in stage0 Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service tests added stage0 and error handling Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): test e2e Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix bugs and test e2e working transfer Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(stap-hermes): bugs and 2 gateway test Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): openApi transact implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): improve admin endpoints Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): added gateways and contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> refactor(cbdc-example): update with new satp-plugin Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> < refactor(cbdc-app): frontend update and some fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(satp-hermes): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cbdc): final fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(cbdc-example): remove unecessary variable Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): remove unessary logs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): docker ports Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> docs(example-cbdc): update frontend to match new functionality * Separated Transfer functionality into local blockchain transfers and cross-chain transfers * Added new table with the state of token approvals made to the bridge * Highlight cross-chain functionality with red coloring * add helper page with instructions on how to use app Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> docs(cbdc-example): remove unused variables and unused code * Created new Docker Image and updated README.md Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
pushed a commit
to petermetz/cacti
that referenced
this issue
Oct 4, 2024
Squashed together the commits on the satp-dev branch to make it easier to rebase onto upstream/main. The list of commits that were squashed: feat(satp-Hermes): gateway refactor WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): fix build bugs and hanging tests Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(satp-hermes): fix hanging tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): fix cspell and lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(satp-hermes): add API1 layer WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): BLO API specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add BLO layer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix status endpoint and spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix lint Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> ci(satp-hermes): rebase and update ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(satp-hermes): migrate BLO open api spec from json to yml Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update Go BLO SDK generation Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update BLO specification Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): add health check endpoint to BLO spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): remove deprecated spec Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix(satp-hermes): re-add open-api json files The canonical source for the API definition are the yaml files located at packages/cactus-plugin-satp-hermes/src/main/yml/openapi.yml, due to its better readability compared to json. When yarn codegen is ran within the cactus-plugin-satp-hermes package, the json files are generated from the yaml. Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> ci(satp-hermes): re-activate satp-hermes ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup: update package json, ci, yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): add gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee): add skeleton for bungee Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(plugin-satp-hermes): update messages formats SATP core version 2.0.0 OpenAPI * created new messages in openAPI definition feat(bungee): fix bungee dependencies Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator feat(SATP-Hermes): gateway coordinator WIP Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(SATP-Hermes): enable decorators needed for gateway coordinator checks Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(SATP-Hermes): update package.json Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): re-estructure project Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): remove kotlin sdk, add protobuffer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(SATP-Hermes): refactor naming Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): protobuf structure improvements Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(SATP-Hermes): update yarn.lock and clean up Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> refactor(test-tooling): fix types of streams: use NodeJS.ReadableStream 1. The container management library that we use in the test infrastructure (called dockerode) is expecting streams that are defined in the global namespace of the `@types/node` library, e.g. the standard library of NodeJS itself. 2. Previously we were using the "streams" package to provide type information to the streams that we were passing around to dockerode and it was working fine, but after some changes that seem unrelated this has broken the compilation process. 3. The mentioned changes are not yet on the main branch, but we expect them to be there soon and so this change is laying the groundwork for that by pre-emptively fixing the broken build's root cause which is that the test-tooling package does not declare it's typings related dependencies correctly: It implicitly uses the NodeJS standard library's types but so far had not declared them on the package level. 4. This change is therefore to rectify the issue of the `@types/node` dependency missing from the test-tooling package and also the refactoring of some of the test ledger classes which were relying on the `streams` builtin package instead of correctly using the NodeJS.ReadableStream global. 5. Earlier the reasoning for this was that we try to avoid pulling in types from the global scope because we try to avoid any sort of dependency on the global scope in general. Once we have proof though that this is causing issues with the build, then we must give up the principle for practical reasons (and only in the minimum viable scope, e.g. this does not change the fact that everywhere else in the codebase we should still do our best to avoid using the global scoped classes, types, functions, etc..). Thank you to @AndreAugusto11 and @RafaelAPB for pointing out this issue through the pull request of his that is currently being worked on at the time of this writing: RafaelAPB#72 Related to but does not address hyperledger-cacti#2811 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> refactor(SATP-Hermes): remove unused packages * updated openapi version * updated bungee plugin version to 2.0.0-alpha.2 Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(satp-hermes): add protobuf gateway refactor Authored by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp proto update (hyperledger-cacti#3147) * feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> * feat(satp-hermes): protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> --------- Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): update protos Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): core stage services message names update Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): gRPC server start implementation and gateway_refactor in handlers Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): satp proto update also updates yarn lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): update yarn, comment method fix(satp-hermes): update yarn ci(satp-hermes): fix bungee and satp ci Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): delete Kotlin SDK, add Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(satp-hermes): add gateway client Go SDK Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): re-add message proto Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fixup(satp-hermes): remove test protos and endpoints Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): gRPC services draft implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): stage1-service and handler refactored Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes):stage2-service and handler refactored server-side Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service handlers server Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): client stage handlers refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fixup(satp-hermes): add skeleton for satp-bridge Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): rename generated code for gateway and blo Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): fix knex path for old gateway tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): update protos and services Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(bungee-hermes): viewProof & ethereum strategy * Views have new attribute viewProof * This attribute has the roots of all state proofs and transaction proofs in the view * Added new endpoint to verify integrity of view proofs * Created strategy for bungee-hermes to support the ethereum-connector * Created new test for the strategy-ethereum, and altered the API test to test the new viewProof endpoint * Updated documentation to reflect new changes. * Fixes in Fabric Strategy, stateProofs and error handling Co-authored-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Co-authored-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> fix: refactor services and handlers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix: eslint all Signed-off-by: Rafael Belchior <rbelchior@blockdaemon.com> chore(satp-hermes): rebase with cacti main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp development continuation and implementation satp protocol (hyperledger-cacti#3397) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fabric and besu bridges, wrapper contracts with ontology (hyperledger-cacti#3382) feat(satp-hermes): added forge to compile solidity contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix: rebase with main Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): added generated code (hyperledger-cacti#3443) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): run sequencial instead of paralel (hyperledger-cacti#3445) Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cc-tx-visualization): initial commit Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> refactor(cc-tx-visualization): capture transactional data with RxJS The plugin now utilizes RxJS instead of RabbitMQ in transaction monitoring. ReplaySubjects store and emit observed transactional data to subscribers. fix(cc-tx-visualization): rebase latest version Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> squash! - migrate a test case to Fabric v2.5.6 LTS AIO This is just a snippet of a change from the pair programming call with Bruno, it can be safely squashed, no worries. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(cc-tx-visualization): ccmodel serialization with PM4PY The plugin now creates the ccmodel for conformance checking with PM4PY. Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(hephaestus): analyse transactions using hephaestus The plugin is now able to: Create a Cross-Chain Model based on monitored transactions Compare new transactions against the model and detect non-conformance Signed-off-by: Bruno Mateus <brumat315@gmail.com> feat(satp-hermes): add skeleton for stage0 Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> feat(satp-hermes): services tests bug correction session functionalities Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): errors file and other fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): fix packages versions Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): add satp-plugin cli (wip) Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(satp-hermes): fix satp build process Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): satp-manager and gol refactor Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix handler and service intialization Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(satp-hermes): service errors and some stage bugs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): satp rejection Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): handler bug correction and errors Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): bridge erros and log messages Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some error fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): some fixes requested Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(satp-hermes): stage0, bug fixing and test e2e Co-authored-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): error messages in stage0 Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): service tests added stage0 and error handling Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): test e2e Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): fix bugs and test e2e working transfer Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(stap-hermes): bugs and 2 gateway test Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): openApi transact implementation Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(satp-hermes): improve admin endpoints Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): added gateways and contracts Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> refactor(cbdc-example): update with new satp-plugin Signed-off-by: eduv09 <eduardovasques10@tecnico.ulisboa.pt> refactor(cbdc-example): fixes Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> < refactor(cbdc-app): frontend update and some fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(satp-hermes): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): bug fixing Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> feat(cbdc): final fixes Signed-off-by: Eduardo Vasques <eduardovasques10@tecnico.ulisboa.pt> fix(cbdc-example): remove unecessary variable Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(satp-hermes): remove unessary logs Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> fix(cbdc-example): docker ports Signed-off-by: Carlos Amaro <carlosrscamaro@tecnico.ulisboa.pt> docs(example-cbdc): update frontend to match new functionality * Separated Transfer functionality into local blockchain transfers and cross-chain transfers * Added new table with the state of token approvals made to the bridge * Highlight cross-chain functionality with red coloring * add helper page with instructions on how to use app Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> docs(cbdc-example): remove unused variables and unused code * Created new Docker Image and updated README.md Signed-off-by: André Augusto <andre.augusto@tecnico.ulisboa.pt> Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
petermetz
pushed a commit
to petermetz/cacti
that referenced
this issue
Oct 11, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
eduv09
pushed a commit
to eduv09/blockchain-integration-framework
that referenced
this issue
Oct 21, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Nov 9, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
that referenced
this issue
Nov 13, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry #1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes #1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Nov 15, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
RafaelAPB
pushed a commit
to RafaelAPB/blockchain-integration-framework
that referenced
this issue
Dec 16, 2024
Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> fix(prometheus): metrics.ts leaks to global registry hyperledger-cacti#1202 1. Specified a `register` property of the gauges as an empty array so that it does not pollute the global namespace. This is how this is supposed to be done as per the docs of prom-client. 2. Once the change from 1) took place, the issue became that the metrics gathering code was still trying to hit up the global scope for the metrics, e.g. calling the get metrics methods directly on the promClient object instead of the registry that we create for each prmoetheus exporter object separately. So a little additional refactor ensued to fix this as well by making sure that we grab a reference of the registry object at construction time and then re-use that wherever needed instead of going through the global promClient object. 3. Added missing .startMetricsCollection calls in the plugin constructors to ensure that the prometheus exporter object gets initialized properly (this is where the registry gets created as well so without this there are crashes happening when one tries to access the metrics through the registry) Why though? The problem was that the metrics.ts file that we have for all the plugin's metrics constructs a new Metric (Gauge) object at import time which then defaults to registering the metric in the global registry of prom-client by default. The latter was causing crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager). Fixes hyperledger-cacti#1202 Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): added test for multiple prometheus metrics on fabric Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): added croschainEventLog models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(fabric): added endpoint for list of transaction receipts Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(test-tooling): add RabbitMQ test server feat(cc-tx-viz): add RabbitMQ support; update model feat(cc-tx-viz): add preliminary support to Fabric and Besu build(deps): upgrade axios to latest to fix CVE Details CVE-2021-3749 high severity Vulnerable versions: <= 0.21.1 Patched version: 0.21.2 axios is vulnerable to Inefficient Regular Expression Complexity Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> feat(cc-tx-viz): add methods to fabric connector Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): add metric model Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> xfix(cc-tx-viz): error implementation of IsVisualizable feat(cc-tx-viz): add methods to fabric and besu; update models Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cc-tx-viz): update cross chain events log for fabric transactions Signed-off-by: Iulia Mihaiu <maramih.2007@yahoo.com> feat(cctxviz): fix fabric prometheus feat(cctxviz): fix besu prometheus feat(cctxviz): fix fabric test feat(cctxviz): update tx receipt feat(cctxviz): add test script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add test receipts feat(cctxviz): refactor CrossChainEventLog Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): refactor tests feat(cc-tx-viz): update model, add tests chore(cc-tx-viz): update dependencies Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): persist logs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cc-tx-viz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): update strinfify to csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): add csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cc-tx-viz): move csv folder Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cc-tx-viz): add test feat(cctxviz): add csv file, process mining script Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): proof of concept v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): update csv Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> docs(cctxviz): update readme Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add carbon footprint Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(fabric-connector): update default queue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): fabric test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add parameters to fabric calls Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support besu Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update metrics Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxvi): update fabric and besu tests Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): besu and fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): support call transactions on fabric Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add aggregation basis Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): aggregate cctx Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): containerize draft Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add revenue Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update model playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add dummy use case playbook Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update persist test and dummy uc Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): workload test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add more timers Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): add timer to map on connectors Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): vis plot wip Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): evaluate baseline Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update plots Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test files Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> feat(cctxviz): update testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): time-efficient polling receipts Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> chore(cctxviz): add test chaincode Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): use case v1 Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> build(cc-tx-visualization): added missing fabric-contract-api This will fix one compilation error. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> chore(deps): updated yarn.lock after rebase onto upstream/main Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> build(cc-tx-visualization): deleted redundant test fixtures Also added the test-tooling package as a dev dependency which should fix a few of the compiler errors we were getting on account of missing dependencies. Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com> fix: resolved build errors for cctxviz branch - test-tooling package changed that needs to be reverted before commmit to main branch - added import statement for test data generationt xfix(cc-tx-viz): error implementation of IsVisualizable chore: update yarn and remove package.lock Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): testing framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): test framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): update framework Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add graphs Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add test Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> fix(cctxviz): fix bug Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> test(cctxviz): add process conformance Signed-off-by: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Describe the bug
The metrics.ts file that we have for all the plugin's metrics constructs a new Metrics object at import time which then defaults to registering the metric in the global registry of
prom-client
by default.This causes crashes when separate versions of the same metrics.ts file are imported in a scenario were the API server imports plugins from a different directory (this issue is coming from the branch where I'm working on plugin sandboxing via the live-plugin-manager).
To Reproduce
Run this test: packages/cactus-cmd-api-server/src/test/typescript/integration/remote-plugin-imports.test.ts
With different plugin versions being present and then watch it crash with prom-client complaining that you are duplicating the metrics in the global scope.
Expected behavior
No crash.
Logs/Stack traces
N/A
Screenshots
NA
Cloud provider or hardware configuration:
Dev machine
Operating system name, version, build:
NA
Hyperledger Cactus release version or commit (git rev-parse --short HEAD):
0.7.0
Hyperledger Cactus Plugins/Connectors Used
None, just the keychain vault plugin.
Additional context
NA
The text was updated successfully, but these errors were encountered: