[midPoint-git] [Evolveum/midpoint] 44c094: Implement activity execution reporting

mederly noreply at github.com
Fri Sep 3 15:44:23 CEST 2021


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 44c0944d16d924c1b5b73110a355227ce6f41d4b
      https://github.com/Evolveum/midpoint/commit/44c0944d16d924c1b5b73110a355227ce6f41d4b
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-09-03 (Fri, 03 Sep 2021)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/ExpressionConstants.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/reporting/ConnIdOperation.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/result/OperationResult.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/result/OperationResultBuilder.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/statistics/EnvironmentalPerformanceInformation.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/statistics/OperationsPerformanceInformationUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/statistics/ProvisioningStatistics.java
    R infra/schema/src/main/java/com/evolveum/midpoint/schema/statistics/ProvisioningStatisticsCollector.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/statistics/StatisticsCollector.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-model-context-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
    M infra/test-util/src/main/java/com/evolveum/midpoint/test/util/TestUtil.java
    M model/model-intest/src/test/resources/sync/task-reconcile-dummy-azure.xml
    M model/model-intest/src/test/resources/sync/task-reconcile-dummy-single.xml
    M model/model-intest/src/test/resources/sync/task-reconcile-dummy-steelblue-partitioned.xml
    M model/model-intest/src/test/resources/tasks/recon/task-reconciliation.xml
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/ClassicCollectionReportExportActivityExecutionSpecifics.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/ClassicDashboardReportExportActivityExecutionSpecifics.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/ClassicReportImportActivityExecutionSpecifics.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/ExportActivitySupport.java
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/SaveReportFileSupport.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningContext.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceManager.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectConverter.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnIdConvertor.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnIdUtil.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnectorInstanceConnIdImpl.java
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/SearchExecutor.java
    M repo/repo-common/pom.xml
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/Activity.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/definition/ActivityControlFlowDefinition.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/definition/ActivityReportingDefinition.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/execution/AbstractActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/ActivityItemProcessingStatistics.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/ActivityState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/CurrentActivityState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/AbstractObjectResolvableExpressionEvaluatorFactory.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/reports/ReportSupportUtil.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/CommonTaskBeans.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingConditionEvaluator.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingGatekeeper.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingMonitor.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingRequest.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/IterativeActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/PlainIterativeActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/PlainIterativeActivityExecutionSpecifics.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/SearchBasedActivityExecution.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/AbstractReport.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/ActivityExecutionReportUtil.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/BucketsReport.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/ConnIdOperationsReport.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/CsvWriter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/InternalOperationsReport.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/ItemsReport.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/SimpleReportReader.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/BucketContentFormatter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/Formatter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/FormatterRegistry.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/GeneralFormatter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/ObjectReferenceFormatter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/ParamsFormatter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/QualifiedOutcomeFormatter.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/reports/formatters/XMLGregorianCalendarFormatter.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestActivities.java
    M repo/repo-common/src/test/resources/tasks/activities/task-180-bucketed-tree.xml
    A repo/repo-common/src/test/resources/tasks/activities/task-185-bucketed-tree-analysis.xml
    A repo/task-api/src/main/java/com/evolveum/midpoint/task/api/ConnIdOperationsListener.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/StateReporter.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/Task.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskManager.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/test/NullTaskImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskManagerConfiguration.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskManagerQuartzImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskQuartzImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/statistics/Statistics.java

  Log Message:
  -----------
  Implement activity execution reporting

An activity can now provide four types of execution reports:
- buckets processed (or analyzed),
- items processed (or skipped),
- ConnId operations executed (within item processing or globally),
- internal operations executed (within item processing).

It is possible to filter individual records that are being written
to these reports - like ConnId ops only for specified resource or only
the ones that took a long time - and for specified reports (ConnId,
internal ops) also enable/disable report chunks for individual items.

Introducing also before/after conditions for writing traces, so it is
now possible e.g. to specify that a trace should be written for each
item that took more than specified time to process, or that failed, etc.

Bucket size analysis mode was added here.

Finally, this commit introduces "item processing condition" that allows
to skip specific items from being processed. (It is expected to be used
for troubleshooting and/or in temporary modifications of activity
behavior.)

All these features are of highly experimental nature.

Related changes:
1. Now it's possible to provide more tracing configurations for
an activity.
2. Each ConnId operation now has a lightweight identifier, to allow
matching ConnId operation report with the detailed log, if needed.
3. ConnId operation reporting is now greatly simplified. It uses
listeners at the level of a Task.

Unrelated change:
 - Fixed ClassicDashboardReportExportActivityExecutionSpecifics#determineExpectedTotal
(+= instead of =+)

Tests are quite rudimentary for now.


  Commit: 6844b9c0cd6d3356a0accd54003b1183f19aef35
      https://github.com/Evolveum/midpoint/commit/6844b9c0cd6d3356a0accd54003b1183f19aef35
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-09-03 (Fri, 03 Sep 2021)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/DefaultGuiConfigurationCompiler.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/menu/DetailsNavigationPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/menu/DetailsNavigationPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/wrapper/ReportParamWrapperFactoryImpl.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/abstractrole/component/AbstractRoleMemberPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/assignmentholder/component/assignmentType/AbstractAssignmentTypePanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/assignmentholder/component/assignmentType/assignment/AbstractAssignmentPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/cases/CaseDetailsModels.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/cases/PageCase.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/cases/component/CaseOperationalButtonsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/cases/component/ChildCasesPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/component/OperationalButtonsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/focus/component/FocusProjectionsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/report/PageReport.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/application/AssignmentCounter.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/web/application/ChildrenCasesCounter.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/application/FocusProjectionsCounter.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/application/SimpleCounter.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/MultiCompositedButtonPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/FilterSearchItem.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/util/MultivalueContainerListDataProvider.java
    M gui/admin-gui/src/main/resources/static/js/midpoint-theme.js
    M gui/admin-gui/src/main/resources/static/less/midpoint-theme.less
    M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
    M repo/repo-sqale/pom.xml
    M repo/repo-sqale/sql/pgnew-repo-audit.sql
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepoContext.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleUtils.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/SqaleAuditService.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/SqaleAuditServiceFactory.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/filtering/AuditCustomColumnItemFilterProcessor.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/MAuditEventRecord.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditEventRecord.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditEventRecordMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/filtering/ArrayPathItemFilterProcessor.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/filtering/ExtensionItemFilterProcessor.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/filtering/RefItemFilterProcessor.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/filtering/RefTableItemFilterProcessor.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/jsonb/Jsonb.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/jsonb/QuerydslJsonbType.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/mapping/SqaleMappingMixin.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/mapping/SqaleTableMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/object/QObjectMapping.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoSearchIterativeTest.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoSearchTest.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/wip/AuditSearchTest.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/audit/mapping/AuditCustomColumnItemFilterProcessor.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/SqlQueryContext.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/SupportedDatabase.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master'


Compare: https://github.com/Evolveum/midpoint/compare/f186017cbd2a...6844b9c0cd6d


More information about the midPoint-svn mailing list