mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 06:25:45 +00:00
added energe metering
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This commit is contained in:
parent
e41ce5df76
commit
31bb4a6134
@ -37,6 +37,9 @@ from planetmint.validation import BaseValidationRules
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
from pyJoules.energy_meter import measure_energy
|
||||||
|
from planetmint.meter import csv_handler, create_handler
|
||||||
|
|
||||||
|
|
||||||
class Planetmint(object):
|
class Planetmint(object):
|
||||||
"""Planetmint API
|
"""Planetmint API
|
||||||
@ -74,6 +77,8 @@ class Planetmint(object):
|
|||||||
else:
|
else:
|
||||||
self.validation = BaseValidationRules
|
self.validation = BaseValidationRules
|
||||||
self.connection = connection if connection is not None else planetmint.backend.connect()
|
self.connection = connection if connection is not None else planetmint.backend.connect()
|
||||||
|
create_handler()
|
||||||
|
|
||||||
|
|
||||||
def post_transaction(self, transaction, mode):
|
def post_transaction(self, transaction, mode):
|
||||||
"""Submit a valid transaction to the mempool."""
|
"""Submit a valid transaction to the mempool."""
|
||||||
@ -358,6 +363,7 @@ class Planetmint(object):
|
|||||||
|
|
||||||
return [block["height"] for block in blocks]
|
return [block["height"] for block in blocks]
|
||||||
|
|
||||||
|
@measure_energy(handler=csv_handler)
|
||||||
def validate_transaction(self, tx, current_transactions=[]):
|
def validate_transaction(self, tx, current_transactions=[]):
|
||||||
"""Validate a transaction against the current status of the database."""
|
"""Validate a transaction against the current status of the database."""
|
||||||
|
|
||||||
|
|||||||
14
planetmint/meter.py
Normal file
14
planetmint/meter.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from pyJoules.handler.csv_handler import CSVHandler
|
||||||
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
filename = '/tmp/result' + str( random.randint(0,1000) ) + '.csv'
|
||||||
|
csv_handler = CSVHandler(filename)
|
||||||
|
|
||||||
|
def create_handler():
|
||||||
|
filename = '/tmp/result' + str( random.randint(0,1000) ) + '.csv'
|
||||||
|
csv_handler = CSVHandler(filename)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ from planetmint.parallel_validation import ParallelValidationApp
|
|||||||
from planetmint.web import server, websocket_server
|
from planetmint.web import server, websocket_server
|
||||||
from planetmint.events import Exchange, EventTypes
|
from planetmint.events import Exchange, EventTypes
|
||||||
from planetmint.utils import Process
|
from planetmint.utils import Process
|
||||||
|
from planetmint.meter import csv_handler, create_handler
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -39,6 +39,7 @@ def start(args):
|
|||||||
logger.info("Starting Planetmint")
|
logger.info("Starting Planetmint")
|
||||||
exchange = Exchange()
|
exchange = Exchange()
|
||||||
# start the web api
|
# start the web api
|
||||||
|
create_handler()
|
||||||
app_server = server.create_server(
|
app_server = server.create_server(
|
||||||
settings=Config().get()["server"], log_config=Config().get()["log"], planetmint_factory=Planetmint
|
settings=Config().get()["server"], log_config=Config().get()["log"], planetmint_factory=Planetmint
|
||||||
)
|
)
|
||||||
@ -80,7 +81,7 @@ def start(args):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
app.run()
|
app.run()
|
||||||
|
csv_handler.save_data()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
start()
|
start()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user