ps/Modules/Alkami.DevOps.Installation/NewRelicCustomInstrumentation/CustomInstrumentation.xml

711 lines
53 KiB
XML
Raw Permalink Normal View History

2023-05-30 22:51:22 -07:00
<?xml version="1.0" encoding="utf-8"?>
<extension xmlns="urn:newrelic-extension">
<instrumentation>
<!-- Radium Service Instrumentation -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncUserJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncUserJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<!-- componentization -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncUserJob">
<match assemblyName="Alkami.Legacy.Sync.Users" className="Alkami.Legacy.Sync.Users.SyncUserJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncTransactionsJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncTransactionsJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<!-- componentization -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncTransactionsJob">
<match assemblyName="Alkami.Legacy.Sync.Transactions" className="Alkami.Legacy.Sync.Transactions.SyncTransactionsJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncBillPayJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncBillPayJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncBillPayV2Job">
<match assemblyName="Alkami.App.Providers.Radium.BillPay" className="Alkami.App.Providers.Radium.BillPay.SyncBillPayJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncBillPayMerchantsJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncBillPayMerchantsJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncEBillsJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncEBillsJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncUserlessTransactionsJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncUserlessTransactionsJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncDoNothingJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncDoNothingJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SyncAccountAndTransactionsJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.SyncAccountAndTransactionsJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/CreateACHFileJob">
<match assemblyName="Alkami.App.Radium.Jobs" className="Alkami.App.Radium.Jobs.CreateACHFileJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/ApproveACHBatchJob">
<match assemblyName="Alkami.App.Providers.Radium.ApproveACHBatch" className="Alkami.App.Providers.Radium.ApproveACHBatch.ApproveACHBatchJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<!-- Nag Service Instrumentation -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AutodraftAlerts">
<match assemblyName="Alkami.App.Nag.Provider.AutodraftAlerts" className="Alkami.App.Nag.Provider.AutodraftAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AutomaticWithdrawal">
<match assemblyName="Alkami.App.Nag.Provider.AutomaticWithdrawal" className="Alkami.App.Nag.Provider.AutomaticWithdrawal.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BalanceAlerts">
<match assemblyName="Alkami.App.Nag.Provider.BalanceAlerts" className="Alkami.App.Nag.Provider.BalanceAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BalanceSummaryAlerts">
<match assemblyName="Alkami.App.Nag.Provider.BalanceSummaryAlerts" className="Alkami.App.Nag.Provider.BalanceSummaryAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/Billing">
<match assemblyName="Alkami.App.Nag.Provider.Billing" className="Alkami.App.Nag.Provider.Billing.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BudgetCategoryExceeded">
<match assemblyName="Alkami.App.Nag.Provider.BudgetCategoryExceeded" className="Alkami.App.Nag.Provider.BudgetCategoryExceeded.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BudgetDiscretionaryAmountsExceeded">
<match assemblyName="Alkami.App.Nag.Provider.BudgetDiscretionaryAmountsExceeded" className="Alkami.App.Nag.Provider.BudgetDiscretionaryAmountsExceeded.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BudgetExceeded">
<match assemblyName="Alkami.App.Nag.Provider.BudgetExceeded" className="Alkami.App.Nag.Provider.BudgetExceeded.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BudgetSummaryAlerts">
<match assemblyName="Alkami.App.Nag.Provider.BudgetSummaryAlerts" className="Alkami.App.Nag.Provider.BudgetSummaryAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/CDMaturityAlerts">
<match assemblyName="Alkami.App.Nag.Provider.CDMaturityAlerts" className="Alkami.App.Nag.Provider.CDMaturityAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/CheckClearAlerts">
<match assemblyName="Alkami.App.Nag.Provider.CheckClearAlerts" className="Alkami.App.Nag.Provider.CheckClearAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/CoreOfflineNotification">
<match assemblyName="Alkami.App.Nag.Provider.CoreOfflineNotification" className="Alkami.App.Nag.Provider.CoreOfflineNotification.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/DebitCardPurchase">
<match assemblyName="Alkami.App.Nag.Provider.DebitCardPurchase" className="Alkami.App.Nag.Provider.DebitCardPurchase.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/DirectDepositAlerts">
<match assemblyName="Alkami.App.Nag.Provider.DirectDepositAlerts" className="Alkami.App.Nag.Provider.DirectDepositAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/DrawAmount">
<match assemblyName="Alkami.App.Nag.Provider.DrawAmount" className="Alkami.App.Nag.Provider.DrawAmount.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/InsufficientFundsAlerts">
<match assemblyName="Alkami.App.Nag.Provider.InsufficientFundsAlerts" className="Alkami.App.Nag.Provider.InsufficientFundsAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/LoanPastDueAlerts">
<match assemblyName="Alkami.App.Nag.Provider.LoanPastDueAlerts" className="Alkami.App.Nag.Provider.LoanPastDueAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/LoginReminder">
<match assemblyName="Alkami.App.Nag.Provider.LoginReminder" className="Alkami.App.Nag.Provider.LoginReminder.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/MortgageAlerts">
<match assemblyName="Alkami.App.Nag.Provider.MortgageAlerts" className="Alkami.App.Nag.Provider.MortgageAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/OnlineBankingAccessAlerts">
<match assemblyName="Alkami.App.Nag.Provider.OnlineBankingAccessAlerts" className="Alkami.App.Nag.Provider.OnlineBankingAccessAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentStatusAlerts">
<match assemblyName="Alkami.App.Nag.Provider.PaymentStatusAlerts" className="Alkami.App.Nag.Provider.PaymentStatusAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/RegulatedSavingsTransferAlerts">
<match assemblyName="Alkami.App.Nag.Provider.RegulatedSavingsTransferAlerts" className="Alkami.App.Nag.Provider.RegulatedSavingsTransferAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SavingsGoalCompleted">
<match assemblyName="Alkami.App.Nag.Provider.SavingsGoalCompleted" className="Alkami.App.Nag.Provider.SavingsGoalCompleted.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SavingsGoalEndangered">
<match assemblyName="Alkami.App.Nag.Provider.SavingsGoalEndangered" className="Alkami.App.Nag.Provider.SavingsGoalEndangered.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/ScheduledBillPaymentAlerts">
<match assemblyName="Alkami.App.Nag.Provider.ScheduledBillPaymentAlerts" className="Alkami.App.Nag.Provider.ScheduledBillPaymentAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/SimpleTransactionAlerts">
<match assemblyName="Alkami.App.Nag.Provider.SimpleTransactionAlerts" className="Alkami.App.Nag.Provider.SimpleTransactionAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionAlerts">
<match assemblyName="Alkami.App.Nag.Provider.TransactionAlerts" className="Alkami.App.Nag.Provider.TransactionAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionDescriptionAlerts">
<match assemblyName="Alkami.App.Nag.Provider.TransactionDescriptionAlerts" className="Alkami.App.Nag.Provider.TransactionDescriptionAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransferStatusAlerts">
<match assemblyName="Alkami.App.Nag.Provider.TransferStatusAlerts" className="Alkami.App.Nag.Provider.TransferStatusAlerts.Provider">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BusinessBankingStaleTransfersJob">
<match assemblyName="Alkami.App.Bank.QuartzJobs" className="Alkami.App.Bank.QuartzJobs.BusinessBankingStaleTransfersJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/ProcessRecurringAchJob">
<match assemblyName="Alkami.App.Bank.QuartzJobs" className="Alkami.App.Bank.QuartzJobs.ProcessRecurringAchJob">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/ScheduledTransfersJob/Transfer">
<match assemblyName="Alkami.App.Providers.Nag.ScheduledTransfersJob" className="Alkami.App.Providers.Nag.ScheduledTransfersJob.JobProvider">
<exactMethodMatcher methodName="TransferParallelExecution" />
</match>
</tracerFactory>
<!-- Nag - Notification - SendAlerts -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/Notification/SendTransactionAlertNotification">
<match assemblyName="Alkami.App.Nag.Provider.TransactionAlerts" className="Alkami.App.Nag.Provider.TransactionAlerts.Provider">
<exactMethodMatcher methodName="SendTransactionAlertNotification" />
</match>
</tracerFactory>
<!-- NagProviderUtility -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/NagProviderUtility/Send">
<match assemblyName="Alkami.App.Nag" className="Alkami.App.Nag.Provider.NagProviderUtility">
<exactMethodMatcher methodName="Send" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/NagProviderUtility/ScheduleAccountAndTransactionSync">
<match assemblyName="Alkami.App.Nag" className="Alkami.App.Nag.Provider.NagProviderUtility">
<exactMethodMatcher methodName="ScheduleAccountAndTransactionSync" />
</match>
</tracerFactory>
<!-- EventManagement MicroService Instrumentation - Private methods -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/EventManagement/Private/Process">
<match assemblyName="Alkami.MicroServices.EventManagement.ServiceImp" className="Alkami.MicroServices.EventManagement.ServiceImp.Service">
<exactMethodMatcher methodName="Process" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/EventManagement/Private/Dispatch">
<match assemblyName="Alkami.MicroServices.EventManagement.ServiceImp" className="Alkami.MicroServices.EventManagement.ServiceImp.Service">
<exactMethodMatcher methodName="Dispatch" />
</match>
</tracerFactory>
<!-- Notification MicroService Instrumentation - Public methods for contract -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/NotificationService/Public/GetTemplatesAsync">
<match assemblyName="Alkami.MicroServices.Notifications.Service" className="Alkami.MicroServices.Notifications.Service.NotificationServiceImp">
<exactMethodMatcher methodName="GetTemplatesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/NotificationService/Public/RenderTemplateAsync">
<match assemblyName="Alkami.MicroServices.Notifications.Service" className="Alkami.MicroServices.Notifications.Service.NotificationServiceImp">
<exactMethodMatcher methodName="RenderTemplateAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/NotificationService/Public/SendNotificationsAsync">
<match assemblyName="Alkami.MicroServices.Notifications.Service" className="Alkami.MicroServices.Notifications.Service.NotificationServiceImp">
<exactMethodMatcher methodName="SendNotificationsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/NotificationService/Public/RegisterTemplateAsync">
<match assemblyName="Alkami.MicroServices.Notifications.Service" className="Alkami.MicroServices.Notifications.Service.NotificationServiceImp">
<exactMethodMatcher methodName="RegisterTemplateAsync" />
</match>
</tracerFactory>
<!-- Authorization MicroService Instrumentation - Private methods -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetUserAccountClaims">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetUserAccountClaims" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetUserClaimsAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetUserClaimsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetEntityAccountClaims">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetEntityAccountClaims" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetEntityClaims">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetEntityClaims" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetBankClaimsAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetBankClaimsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetThemeClaimsAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetThemeClaimsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetOAuthClaimsIdentity">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetOAuthClaimsIdentity" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GetClaimsIdentityAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetClaimsIdentityAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/SearchForUserAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="SearchForUserAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/RefreshTokenAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="_RefreshTokenAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Private/GenerateTokenAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="_GenerateTokenAsync" />
</match>
</tracerFactory>
<!-- Authorization MicroService Instrumentation - Public methods for contract -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/GenerateIdentityAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GenerateIdentityAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/GenerateMasqueradedIdentityAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GenerateMasqueradedIdentityAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/GenerateTokenAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GenerateTokenAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/GetRegisteredApplicationsAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetRegisteredApplicationsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/GetRegisteredApplicationUsersAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetRegisteredApplicationUsersAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/GetOAuthScopesAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="GetOAuthScopesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/AddOrUpdateRegisteredApplicationsAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="AddOrUpdateRegisteredApplicationsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/AddOrUpdateRegisteredApplicationUsersAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="AddOrUpdateRegisteredApplicationUsersAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/AddOrUpdateOAuthScopesAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="AddOrUpdateOAuthScopesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AuthorizationService/Public/RevokeTokenAsync">
<match assemblyName="Alkami.MicroServices.Authorization.Service" className="Alkami.MicroServices.Authorization.Service.AuthorizationServiceImp">
<exactMethodMatcher methodName="RevokeTokenAsync" />
</match>
</tracerFactory>
<!-- BillPayProviders MicroService Instrumentation - Public methods for contract -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/AddFundingAccountsAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="AddFundingAccountsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/AddOrDeleteFundingAccountsAndGetUpdatesAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="AddOrDeleteFundingAccountsAndGetUpdatesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/AddOrUpdatePayeesAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="AddOrUpdatePayeesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/AddOrUpdateSchedulesAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="AddOrUpdateSchedulesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/AddOrUpdateUserAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="AddOrUpdateUserAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/ArchiveEBillAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="ArchiveEBillAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/DeleteFundingAccountsAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="DeleteFundingAccountsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/DeletePayeesAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="DeletePayeesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/EnrollEBillsAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="EnrollEBillsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetBillPaySsoUrlAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetBillPaySsoUrlAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetEBillDetailAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetEBillDetailAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetFeaturesAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetFeaturesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetFundingAccountsAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetFundingAccountsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetHolidays">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetHolidays" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetManagedPayeeListAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetManagedPayeeListAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetPayeesAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetPayeesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/GetSyncDataAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="GetSyncDataAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/IsUserEnrolledAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="IsUserEnrolledAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/UnEnrollEBillAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="UnEnrollEBillAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/UpdateUserDataAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="UpdateUserDataAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/BillPayProviders/Public/RefreshKeysAsync">
<match assemblyName="Alkami.MicroServices.BillPayProviders.Shared" className="Alkami.MicroServices.BillPayProviders.Shared.BillPayProviderServiceImp">
<exactMethodMatcher methodName="RefreshKeysAsync" />
</match>
</tracerFactory>
<!-- Transactions MicroService Instrumentation - Public methods for contract -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/AddOrUpdateTransactionsAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="AddOrUpdateTransactionsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/DeleteTransactionsAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="DeleteTransactionsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/GetTransactionsAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="GetTransactionsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/AddOrUpdateTransactionCategoriesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="AddOrUpdateTransactionCategoriesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/DeleteTransactionCategoriesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="DeleteTransactionCategoriesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/GetTransactionCategoriesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="GetTransactionCategoriesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/AddOrUpdateMerchantCategoryCodesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="AddOrUpdateMerchantCategoryCodesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/DeleteMerchantCategoryCodesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="DeleteMerchantCategoryCodesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/GetMerchantCategoryCodesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="GetMerchantCategoryCodesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransactionsService/Public/GetTransactionTypesAsync">
<match assemblyName="Alkami.MicroServices.Transactions.Service" className="Alkami.MicroServices.Transactions.Service.TransactionServiceImp">
<exactMethodMatcher methodName="GetTransactionTypesAsync" />
</match>
</tracerFactory>
<!-- Payments MicroService Instrumentation - Public methods for contract -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/GetFundingAccountsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="GetFundingAccountsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/AddOrUpdateFundingAccountsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="AddOrUpdateFundingAccountsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/DeleteFundingAccountsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="DeleteFundingAccountsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/GetPaymentsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="GetPaymentsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/PredictPaymentsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="PredictPaymentsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/GetPayeesAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="GetPayeesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/GetBillsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="GetBillsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/AddOrUpdatePayeesAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="AddOrUpdatePayeesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/DeletePayeesAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="DeletePayeesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/GetBillPayMerchantsAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="GetBillPayMerchantsAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/GetSchedulesAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="GetSchedulesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/AddOrUpdateSchedulesAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="AddOrUpdateSchedulesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Public/DeleteSchedulesAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="DeleteSchedulesAsync" />
</match>
</tracerFactory>
<!-- Payments MicroService Instrumentation - Private methods -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/PaymentsService/Private/PredictedPaymentsForScheduleAsync">
<match assemblyName="Alkami.MicroServices.Payments.Service" className="Alkami.MicroServices.Payments.Service.PaymentService">
<exactMethodMatcher methodName="PredictedPaymentsForScheduleAsync" />
</match>
</tracerFactory>
<!-- Accounts MicroService Instrumentation - Public methods for contract -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/AddOrUpdateTransactionCategoriesAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="AddOrUpdateTransactionCategoriesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/GetTransactionCategoriesAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="GetTransactionCategoriesAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/GetRoutingNumberInfoAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="GetRoutingNumberInfoAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/AddOrUpdateTransactionAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="AddOrUpdateTransactionAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/GetTransactionAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="GetTransactionAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/GetAccountAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="GetAccountAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/AddOrUpdateAccountAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="AddOrUpdateAccountAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/AddOrUpdateAccountTypeAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="AddOrUpdateAccountTypeAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/GetAccountTypeAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="GetAccountTypeAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/AddOrUpdateAccountTypeClassAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="AddOrUpdateAccountTypeClassAsync" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/AccountsService/Public/GetAccountTypeClassAsync">
<match assemblyName="Alkami.MicroServices.Accounts.Service" className="Alkami.MicroServices.Accounts.Service.AccountServiceImp">
<exactMethodMatcher methodName="GetAccountTypeClassAsync" />
</match>
</tracerFactory>
<!-- Transfer Action Instrumentation -->
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/TransferAction">
<match assemblyName="Alkami.App.Bank.Common" className="Alkami.App.Bank.Common.Transfer.TransferAction">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/ACHTransferAction">
<match assemblyName="Alkami.App.Bank.Common" className="Alkami.App.Bank.Common.Transfer.ACHTransferAction">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/ScheduledTransferAction">
<match assemblyName="Alkami.App.Bank.Common" className="Alkami.App.Bank.Common.Transfer.ScheduledTransferAction">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
<tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Custom/CreateACHTransfersAction">
<match assemblyName="Alkami.App.Bank.Common" className="Alkami.App.Bank.Common.Transfer.ProcessAutoTransaction">
<exactMethodMatcher methodName="Execute" />
</match>
</tracerFactory>
</instrumentation>
</extension>