/** * {@inheritDoc} */ @Override public Collection<BusinessTransactionData> getBusinessTransactions(int applicationId) { Set<BusinessTransactionData> resultSet = new HashSet<>(); for (BusinessTransactionData businessTx : businessTransactions.values()) { if (businessTx.getApplication().getId() == applicationId) { resultSet.add(businessTx); } } return resultSet; }
@BeforeMethod public void setup() { when(platformIdent.getAgentName()).thenReturn(AGENT_NAME); when(applicationData.getName()).thenReturn(APP_NAME); when(businessTransactionData.getName()).thenReturn(BT_NAME); }
return false; } else if (!this.application.equals(other.application)) { return false;
@BeforeMethod public void initialize() throws BusinessException { firstApplication = new ApplicationData(FIRST_APPLICATION_ID, FIRST_APPLICATION_ID, "firstApplication"); firstBusinessTx = new BusinessTransactionData(FIRST_BUSINESS_TX_ID, FIRST_BUSINESS_TX_ID, firstApplication, "firstBusinessTx"); secondBusinessTx = new BusinessTransactionData(SECOND_BUSINESS_TX_ID, SECOND_BUSINESS_TX_ID, firstApplication, "secondBusinessTx"); secondApplication = new ApplicationData(SECOND_APPLICATION_ID, SECOND_APPLICATION_ID, "secondApplication"); thirdBusinessTx = new BusinessTransactionData(THIRD_BUSINESS_TX_ID, THIRD_BUSINESS_TX_ID, secondApplication, "thirdBusinessTx"); List<BusinessTransactionData> businessTxs = new ArrayList<>(); businessTxs.add(firstBusinessTx); businessTxs.add(secondBusinessTx); businessTxs.add(thirdBusinessTx); List<ApplicationData> applications = new ArrayList<>(); applications.add(firstApplication); applications.add(secondApplication); when(businessContextService.getBusinessTransactions()).thenReturn(businessTxs); when(businessContextService.getApplications()).thenReturn(applications); }
/** * {@inheritDoc} */ @Override public int hashCode() { final int prime = 31; int result = 1; result = (prime * result) + ((this.application == null) ? 0 : this.application.hashCode()); result = (prime * result) + this.businessTransactionDefinitionId; result = (prime * result) + this.id; result = (prime * result) + ((this.name == null) ? 0 : this.name.hashCode()); return result; }
/** * {@inheritDoc} */ @Override public ApplicationData registerApplication(ApplicationDefinition applicationDefinition) { int applicationId = deriveInstanceId(applicationDefinition.getApplicationName(), applicationDefinition.getId()); ApplicationData application = getApplicationForId(applicationId); if (null == application) { application = new ApplicationData(applicationId, applicationDefinition.getId(), applicationDefinition.getApplicationName()); ApplicationData existingApplication = applications.putIfAbsent(applicationId, application); if (null != existingApplication) { application = existingApplication; } } return application; }
/** * {@inheritDoc} */ @Override public Collection<BusinessTransactionData> getBusinessTransactions(int applicationId) { Set<BusinessTransactionData> result = new HashSet<>(); for (BusinessTransactionData businessTx : businessTransactions.values()) { if (businessTx.getApplication().getId() == applicationId) { result.add(businessTx); } } return result; }
@BeforeMethod public void init() { when(problemOccurrence.getApplicationNameIdent()).thenReturn(APP_ID); when(problemOccurrence.getBusinessTransactionNameIdent()).thenReturn(BUSINESS_TX_ID); when(problemOccurrence.getProblemContext()).thenReturn(invocationIdentifier); when(problemOccurrence.getRequestRoot()).thenReturn(invocationIdentifier); when(problemOccurrence.getGlobalContext()).thenReturn(invocationIdentifier); when(problemOccurrence.getCauseType()).thenReturn(causeType); when(problemOccurrence.getSourceType()).thenReturn(sourceType); when(problemOccurrence.getRootCause()).thenReturn(rootCause); when(invocationIdentifier.getDiagnosisTimerData()).thenReturn(diagnosisTimerData); when(rootCause.getAggregatedDiagnosisTimerData()).thenReturn(aggregatedDiagnosisTimerData); when(diagnosisTimerData.getDuration()).thenReturn(DURATION); when(diagnosisTimerData.getExclusiveDuration()).thenReturn(EXCLUSIVE_DURATION); when(aggregatedDiagnosisTimerData.getExclusiveDuration()).thenReturn(EXCLUSIVE_DURATION); when(applicationData.getName()).thenReturn(APPLICATION_NAME); when(businessTransactionData.getName()).thenReturn(BUSINESS_TX); when(methodIdent.getMethodName()).thenReturn(METHOD); when(methodIdent.getFQN()).thenReturn(FQN); }
/** * Verify equals contract test. * * @param clazz * Class to test. */ @Test(dataProvider = "classProvider") public void equalsContract(Class<?> clazz) { EqualsVerifier.forClass(clazz).usingGetClass().withPrefabValues(Timestamp.class, new Timestamp(1), new Timestamp(2)) .withPrefabValues(ExceptionSensorData.class, new ExceptionSensorData(new Timestamp(1), 1, 1, 1), new ExceptionSensorData(new Timestamp(2), 2, 2, 2)) .withPrefabValues(InvocationSequenceData.class, new InvocationSequenceData(new Timestamp(1), 1, 1, 1), new InvocationSequenceData(new Timestamp(2), 2, 2, 2)).withRedefinedSuperclass() .withPrefabValues(ApplicationData.class, new ApplicationData(1, 1, "name1"), new ApplicationData(2, 2, "name2")).withPrefabValues(BusinessTransactionData.class, new BusinessTransactionData(1, 1, new ApplicationData(1, 1, "name1"), "name1"), new BusinessTransactionData(2, 2, new ApplicationData(2, 2, "name2"), "name2")) .suppress(Warning.NONFINAL_FIELDS).suppress(Warning.TRANSIENT_FIELDS).verify(); }
/** * Reloads the business context data. */ private void refreshBusinessContext() { applicationMap.clear(); businessTransactionsMap.clear(); for (BusinessTransactionData businessTx : businessContextService.getBusinessTransactions()) { businessTransactionsMap.put(new Pair<Integer, Integer>(businessTx.getApplication().getId(), businessTx.getId()), businessTx); } for (ApplicationData application : businessContextService.getApplications()) { applicationMap.put(application.getId(), application); } }
/** * {@inheritDoc} */ @Override protected void addTags(InvocationSequenceData data, Builder builder) { super.addTags(data, builder); String businessTxName = BusinessTransactionDefinition.UNKNOWN_BUSINESS_TX; String applicationName = ApplicationDefinition.UNKNOWN_APP; BusinessTransactionData businessTx = cachedDataService.getBusinessTransactionForId(data.getApplicationId(), data.getBusinessTransactionId()); if (null != businessTx) { businessTxName = businessTx.getName(); applicationName = businessTx.getApplication().getName(); } builder.tag(Series.BusinessTransaction.TAG_APPLICATION_NAME, applicationName); builder.tag(Series.BusinessTransaction.TAG_BUSINESS_TRANSACTION_NAME, businessTxName); }
application = new ApplicationData(idGenerator.getAndIncrement(), applicationDefinition.getId(), applicationDefinition.getApplicationName());
/** * Sets {@link #businessTransactions}. * * @param businessTransactions * A collection of {@link BusinessTransactionData} instances. */ public void setBusinessTransactions(Collection<BusinessTransactionData> businessTransactions) { for (BusinessTransactionData businessTx : businessTransactions) { this.businessTransactions.put(new Pair<Integer, Integer>(businessTx.getApplication().getId(), businessTx.getId()), businessTx); this.applications.put(businessTx.getApplication().getId(), businessTx.getApplication()); } }
ApplicationData application = cachedDataService.getApplicationForId(appId); if (null != application) { return new StyledString(application.getName());
application = new ApplicationData(idGenerator.getAndIncrement(), applicationDefinition.getId(), applicationDefinition.getApplicationName()); application_empty = new ApplicationData(idGenerator.getAndIncrement(), applicationDefinition_empty.getId(), applicationDefinition_empty.getApplicationName()); application_unknown = new ApplicationData(idGenerator.getAndIncrement(), ApplicationDefinition.DEFAULT_ID, "Unknown Application");
/** * {@inheritDoc} */ @Override public BusinessTransactionData registerBusinessTransaction(ApplicationData application, BusinessTransactionDefinition businessTransactionDefinition, String businessTransactionName) { int businessTxId = deriveInstanceId(businessTransactionName, businessTransactionDefinition.getId()); BusinessTransactionData businessTransaction = getBusinessTransactionForId(application.getId(), businessTxId); if (null == businessTransaction) { businessTransaction = new BusinessTransactionData(businessTxId, businessTransactionDefinition.getId(), application, businessTransactionName); Pair<Integer, Integer> key = new Pair<Integer, Integer>(application.getId(), businessTransaction.getId()); BusinessTransactionData existingBusinessTx = businessTransactions.putIfAbsent(key, businessTransaction); if (null != existingBusinessTx) { businessTransaction = existingBusinessTx; } } return businessTransaction; }
/** * {@inheritDoc} */ @Override public DetailsTable generate(DefaultData defaultData, RepositoryDefinition repositoryDefinition, Composite parent, FormToolkit toolkit) { InvocationSequenceData invocationSequenceData = (InvocationSequenceData) defaultData; DetailsTable table = new DetailsTable(parent, toolkit, "Invocation Sequence Info", 1); ApplicationData application = repositoryDefinition.getCachedDataService().getApplicationForId(invocationSequenceData.getApplicationId()); if (null != application) { table.addContentRow("Application:", null, new DetailsCellContent[] { new DetailsCellContent(application.getName()) }); } BusinessTransactionData businessTxData = repositoryDefinition.getCachedDataService().getBusinessTransactionForId(invocationSequenceData.getApplicationId(), invocationSequenceData.getBusinessTransactionId()); if (null != businessTxData) { table.addContentRow("Business Transactions:", null, new DetailsCellContent[] { new DetailsCellContent(businessTxData.getName()) }); } table.addContentRow("Children Count:", null, new DetailsCellContent[] { new DetailsCellContent(String.valueOf(invocationSequenceData.getChildCount())) }); table.addContentRow("Nested SQLs:", null, new DetailsCellContent[] { new YesNoDetailsCellContent(InvocationSequenceDataHelper.hasNestedSqlStatements(invocationSequenceData)) }); table.addContentRow("Nested Exceptions:", null, new DetailsCellContent[] { new YesNoDetailsCellContent(InvocationSequenceDataHelper.hasNestedExceptions(invocationSequenceData)) }); return table; }
@Test public void matchEmptyApplication() { StringMatchingExpression stringMatchingExpression = new StringMatchingExpression(PatternMatchingType.CONTAINS, "root"); stringMatchingExpression.setStringValueSource(stringValueSource); stringMatchingExpression.setSearchNodeInTrace(false); StringMatchingExpression stringMatchingExpression_2 = new StringMatchingExpression(PatternMatchingType.CONTAINS, "nothing"); stringMatchingExpression_2.setStringValueSource(stringValueSource); stringMatchingExpression_2.setSearchNodeInTrace(false); applicationDefinition.setMatchingRuleExpression(stringMatchingExpression_2); applicationDefinition_empty.setMatchingRuleExpression(stringMatchingExpression); processor.process(root, entityManager); assertThat(root.getApplicationId(), equalTo(application_empty.getId())); assertThat(root.getBusinessTransactionId(), equalTo(businessTx_unknown.getId())); }
ApplicationData appData1 = cachedDataService.getApplicationForId(o1.getApplicationId()); ApplicationData appData2 = cachedDataService.getApplicationForId(o2.getApplicationId()); String appName1 = null != appData1 ? appData1.getName().toLowerCase() : StringUtils.EMPTY; String appName2 = null != appData2 ? appData2.getName().toLowerCase() : StringUtils.EMPTY; return ObjectUtils.compare(appName1, appName2); case BUSINESS_TRANSACTION:
@Test public void businessContextChanged() throws InterruptedException { StringMatchingExpression stringMatchingExpression = new StringMatchingExpression(PatternMatchingType.CONTAINS, "root"); stringMatchingExpression.setStringValueSource(stringValueSource); stringMatchingExpression.setSearchNodeInTrace(false); StringMatchingExpression stringMatchingExpression_2 = new StringMatchingExpression(PatternMatchingType.CONTAINS, "node"); stringMatchingExpression_2.setStringValueSource(stringValueSource); stringMatchingExpression_2.setSearchNodeInTrace(false); applicationDefinition.setMatchingRuleExpression(stringMatchingExpression); businessTxDefinition_1.setMatchingRuleExpression(stringMatchingExpression_2); processor.onApplicationEvent(event); assertThat(root.getApplicationId(), equalTo(application.getId())); assertThat(root.getBusinessTransactionId(), equalTo(businessTx_1.getId())); }