JSMetrics.h 688 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. #pragma once
  5. #include <Atomic/Core/Context.h>
  6. #include <Atomic/Core/Object.h>
  7. #include <Atomic/Container/List.h>
  8. namespace Atomic
  9. {
  10. class JSVM;
  11. class JSMetrics : public Object
  12. {
  13. OBJECT(JSMetrics);
  14. public:
  15. /// Construct.
  16. JSMetrics(Context* context, JSVM* vm);
  17. /// Destruct.
  18. virtual ~JSMetrics();
  19. void Capture();
  20. void Dump();
  21. private:
  22. WeakPtr<JSVM> vm_;
  23. // Object
  24. List<String> classNames_;
  25. HashMap<StringHash, int> classInstances_;
  26. };
  27. }