History

Add tracing to ScriptEngine and EntitiesScriptingInterface

Ryan Huffman committed 9 years ago

Commit 55df6f81 parent ce9f8be4 files · +66 −2Browse files

Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 4 files). Show all

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+49−0
@@ -178,6 +178,8 @@ EntityItemProperties convertLocationFromScriptSemantics(const EntityItemProperti · 177 unmodified lines
178178
179179
180180 QUuid EntityScriptingInterface::addEntity(const EntityItemProperties& properties, bool clientOnly) {
181+ PROFILE_RANGE(script_entities, __FUNCTION__);
182+
181183 _activityTracking.addedEntityCount++;
182184
183185 EntityItemProperties propertiesWithSimID = convertLocationFromScriptSemantics(properties);
@@ -270,6 +272,8 @@ EntityItemProperties EntityScriptingInterface::getEntityProperties(QUuid identit · 86 unmodified lines
270272 }
271273
272274 EntityItemProperties EntityScriptingInterface::getEntityProperties(QUuid identity, EntityPropertyFlags desiredProperties) {
275+ PROFILE_RANGE(script_entities, __FUNCTION__);
276+
273277 EntityItemProperties results;
274278 if (_entityTree) {
275279 _entityTree->withReadLock([&] {
@@ -316,6 +320,8 @@ EntityItemProperties EntityScriptingInterface::getEntityProperties(QUuid identit · 40 unmodified lines
316320 }
317321
318322 QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& scriptSideProperties) {
323+ PROFILE_RANGE(script_entities, __FUNCTION__);
324+
319325 _activityTracking.editedEntityCount++;
320326
321327 EntityItemProperties properties = scriptSideProperties;
@@ -467,6 +473,8 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& · 145 unmodified lines
467473 }
468474
469475 void EntityScriptingInterface::deleteEntity(QUuid id) {
476+ PROFILE_RANGE(script_entities, __FUNCTION__);
477+
470478 _activityTracking.deletedEntityCount++;
471479
472480 EntityItemID entityID(id);
@@ -522,6 +530,8 @@ void EntityScriptingInterface::setEntitiesScriptEngine(EntitiesScriptEngineProvi · 49 unmodified lines
522530 }
523531
524532 void EntityScriptingInterface::callEntityMethod(QUuid id, const QString& method, const QStringList& params) {
533+ PROFILE_RANGE(script_entities, __FUNCTION__);
534+
525535 std::lock_guard<std::recursive_mutex> lock(_entitiesScriptEngineLock);
526536 if (_entitiesScriptEngine) {
527537 EntityItemID entityID{ id };
@@ -530,6 +540,8 @@ void EntityScriptingInterface::callEntityMethod(QUuid id, const QString& method, · 2 unmodified lines
530540 }
531541
532542 QUuid EntityScriptingInterface::findClosestEntity(const glm::vec3& center, float radius) const {
543+ PROFILE_RANGE(script_entities, __FUNCTION__);
544+
533545 EntityItemID result;
534546 if (_entityTree) {
535547 EntityItemPointer closestEntity;
@@ -553,6 +565,8 @@ void EntityScriptingInterface::dumpTree() const { · 17 unmodified lines
553565 }
554566
555567 QVector<QUuid> EntityScriptingInterface::findEntities(const glm::vec3& center, float radius) const {
568+ PROFILE_RANGE(script_entities, __FUNCTION__);
569+
556570 QVector<QUuid> result;
557571 if (_entityTree) {
558572 QVector<EntityItemPointer> entities;
@@ -568,6 +582,8 @@ QVector<QUuid> EntityScriptingInterface::findEntities(const glm::vec3& center, f · 9 unmodified lines
568582 }
569583
570584 QVector<QUuid> EntityScriptingInterface::findEntitiesInBox(const glm::vec3& corner, const glm::vec3& dimensions) const {
585+ PROFILE_RANGE(script_entities, __FUNCTION__);
586+
571587 QVector<QUuid> result;
572588 if (_entityTree) {
573589 QVector<EntityItemPointer> entities;
@@ -584,6 +600,8 @@ QVector<QUuid> EntityScriptingInterface::findEntitiesInBox(const glm::vec3& corn · 10 unmodified lines
584600 }
585601
586602 QVector<QUuid> EntityScriptingInterface::findEntitiesInFrustum(QVariantMap frustum) const {
603+ PROFILE_RANGE(script_entities, __FUNCTION__);
604+
587605 QVector<QUuid> result;
588606
589607 const QString POSITION_PROPERTY = "position";
@@ -627,6 +645,7 @@ QVector<QUuid> EntityScriptingInterface::findEntitiesInFrustum(QVariantMap frust · 37 unmodified lines
627645
628646 RayToEntityIntersectionResult EntityScriptingInterface::findRayIntersection(const PickRay& ray, bool precisionPicking,
629647 const QScriptValue& entityIdsToInclude, const QScriptValue& entityIdsToDiscard, bool visibleOnly, bool collidableOnly) {
648+ PROFILE_RANGE(script_entities, __FUNCTION__);
630649
631650 QVector<EntityItemID> entitiesToInclude = qVectorEntityItemIDFromScriptValue(entityIdsToInclude);
632651 QVector<EntityItemID> entitiesToDiscard = qVectorEntityItemIDFromScriptValue(entityIdsToDiscard);
@@ -734,6 +753,8 @@ RayToEntityIntersectionResult::RayToEntityIntersectionResult() : · 101 unmodified lines
734753 }
735754
736755 QScriptValue RayToEntityIntersectionResultToScriptValue(QScriptEngine* engine, const RayToEntityIntersectionResult& value) {
756+ PROFILE_RANGE(script_entities, __FUNCTION__);
757+
737758 QScriptValue obj = engine->newObject();
738759 obj.setProperty("intersects", value.intersects);
739760 obj.setProperty("accurate", value.accurate);
@@ -781,6 +802,8 @@ QScriptValue RayToEntityIntersectionResultToScriptValue(QScriptEngine* engine, c · 41 unmodified lines
781802 }
782803
783804 void RayToEntityIntersectionResultFromScriptValue(const QScriptValue& object, RayToEntityIntersectionResult& value) {
805+ PROFILE_RANGE(script_entities, __FUNCTION__);
806+
784807 value.intersects = object.property("intersects").toVariant().toBool();
785808 value.accurate = object.property("accurate").toVariant().toBool();
786809 QScriptValue entityIDValue = object.property("entityID");
@@ -818,6 +841,8 @@ void RayToEntityIntersectionResultFromScriptValue(const QScriptValue& object, Ra · 31 unmodified lines
818841
819842 bool EntityScriptingInterface::setVoxels(QUuid entityID,
820843 std::function<bool(PolyVoxEntityItem&)> actor) {
844+ PROFILE_RANGE(script_entities, __FUNCTION__);
845+
821846 if (!_entityTree) {
822847 return false;
823848 }
@@ -842,6 +867,8 @@ bool EntityScriptingInterface::setVoxels(QUuid entityID, · 18 unmodified lines
842867 }
843868
844869 bool EntityScriptingInterface::setPoints(QUuid entityID, std::function<bool(LineEntityItem&)> actor) {
870+ PROFILE_RANGE(script_entities, __FUNCTION__);
871+
845872 if (!_entityTree) {
846873 return false;
847874 }
@@ -881,18 +908,24 @@ bool EntityScriptingInterface::setPoints(QUuid entityID, std::function<bool(Line · 33 unmodified lines
881908
882909
883910 bool EntityScriptingInterface::setVoxelSphere(QUuid entityID, const glm::vec3& center, float radius, int value) {
911+ PROFILE_RANGE(script_entities, __FUNCTION__);
912+
884913 return setVoxels(entityID, [center, radius, value](PolyVoxEntityItem& polyVoxEntity) {
885914 return polyVoxEntity.setSphere(center, radius, value);
886915 });
887916 }
888917
889918 bool EntityScriptingInterface::setVoxel(QUuid entityID, const glm::vec3& position, int value) {
919+ PROFILE_RANGE(script_entities, __FUNCTION__);
920+
890921 return setVoxels(entityID, [position, value](PolyVoxEntityItem& polyVoxEntity) {
891922 return polyVoxEntity.setVoxelInVolume(position, value);
892923 });
893924 }
894925
895926 bool EntityScriptingInterface::setAllVoxels(QUuid entityID, int value) {
927+ PROFILE_RANGE(script_entities, __FUNCTION__);
928+
896929 return setVoxels(entityID, [value](PolyVoxEntityItem& polyVoxEntity) {
897930 return polyVoxEntity.setAll(value);
898931 });
@@ -900,12 +933,16 @@ bool EntityScriptingInterface::setAllVoxels(QUuid entityID, int value) { · 1 unmodified line
900933
901934 bool EntityScriptingInterface::setVoxelsInCuboid(QUuid entityID, const glm::vec3& lowPosition,
902935 const glm::vec3& cuboidSize, int value) {
936+ PROFILE_RANGE(script_entities, __FUNCTION__);
937+
903938 return setVoxels(entityID, [lowPosition, cuboidSize, value](PolyVoxEntityItem& polyVoxEntity) {
904939 return polyVoxEntity.setCuboid(lowPosition, cuboidSize, value);
905940 });
906941 }
907942
908943 bool EntityScriptingInterface::setAllPoints(QUuid entityID, const QVector<glm::vec3>& points) {
944+ PROFILE_RANGE(script_entities, __FUNCTION__);
945+
909946 EntityItemPointer entity = static_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(entityID));
910947 if (!entity) {
911948 qCDebug(entities) << "EntityScriptingInterface::setPoints no entity with ID" << entityID;
@@ -924,6 +961,8 @@ bool EntityScriptingInterface::setAllPoints(QUuid entityID, const QVector<glm::v · 12 unmodified lines
924961 }
925962
926963 bool EntityScriptingInterface::appendPoint(QUuid entityID, const glm::vec3& point) {
964+ PROFILE_RANGE(script_entities, __FUNCTION__);
965+
927966 EntityItemPointer entity = static_cast<EntityItemPointer>(_entityTree->findEntityByEntityItemID(entityID));
928967 if (!entity) {
929968 qCDebug(entities) << "EntityScriptingInterface::setPoints no entity with ID" << entityID;
@@ -999,6 +1038,8 @@ bool EntityScriptingInterface::actionWorker(const QUuid& entityID, · 69 unmodified lines
9991038 QUuid EntityScriptingInterface::addAction(const QString& actionTypeString,
10001039 const QUuid& entityID,
10011040 const QVariantMap& arguments) {
1041+ PROFILE_RANGE(script_entities, __FUNCTION__);
1042+
10021043 QUuid actionID = QUuid::createUuid();
10031044 auto actionFactory = DependencyManager::get<EntityActionFactoryInterface>();
10041045 bool success = false;
@@ -1030,6 +1071,8 @@ QUuid EntityScriptingInterface::addAction(const QString& actionTypeString, · 25 unmodified lines
10301071
10311072
10321073 bool EntityScriptingInterface::updateAction(const QUuid& entityID, const QUuid& actionID, const QVariantMap& arguments) {
1074+ PROFILE_RANGE(script_entities, __FUNCTION__);
1075+
10331076 return actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) {
10341077 bool success = entity->updateAction(simulation, actionID, arguments);
10351078 if (success) {
@@ -1040,6 +1083,8 @@ bool EntityScriptingInterface::updateAction(const QUuid& entityID, const QUuid& · 4 unmodified lines
10401083 }
10411084
10421085 bool EntityScriptingInterface::deleteAction(const QUuid& entityID, const QUuid& actionID) {
1086+ PROFILE_RANGE(script_entities, __FUNCTION__);
1087+
10431088 bool success = false;
10441089 actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) {
10451090 success = entity->removeAction(simulation, actionID);
@@ -1053,6 +1098,8 @@ bool EntityScriptingInterface::deleteAction(const QUuid& entityID, const QUuid& · 7 unmodified lines
10531098 }
10541099
10551100 QVector<QUuid> EntityScriptingInterface::getActionIDs(const QUuid& entityID) {
1101+ PROFILE_RANGE(script_entities, __FUNCTION__);
1102+
10561103 QVector<QUuid> result;
10571104 actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) {
10581105 QList<QUuid> actionIDs = entity->getActionIDs();
@@ -1063,6 +1110,8 @@ QVector<QUuid> EntityScriptingInterface::getActionIDs(const QUuid& entityID) { · 4 unmodified lines
10631110 }
10641111
10651112 QVariantMap EntityScriptingInterface::getActionArguments(const QUuid& entityID, const QUuid& actionID) {
1113+ PROFILE_RANGE(script_entities, __FUNCTION__);
1114+
10661115 QVariantMap result;
10671116 actionWorker(entityID, [&](EntitySimulationPointer simulation, EntityItemPointer entity) {
10681117 result = entity->getActionArguments(actionID);