DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Application Perspectives Advanced Use Cases: Client Feature Testing

See how you can isolate and compare the performance of individual features when introducing new client functionality to microservices.

Kevin Crawley user avatar by
Kevin Crawley
·
Nov. 15, 18 · Tutorial
Like (3)
Save
Tweet
Share
7.50K Views

Join the DZone community and get the full member experience.

Join For Free

With traditional monitoring tools, it's either extremely difficult or impossible to isolate and compare the performance of individual application features as required when introducing new client functionality. Instana's new Application Perspectives capabilities make this a trivial task that is easily configured via the Instana UI.

About Instana's Application Perspectives

With Application Perspectives, each team member gets the exact visualizations and information they need to optimize the applications and services they're responsible for. With a simple UI-driven configuration, users get a series of curated dashboards that visualize and analyze all related services and infrastructure. You can learn more about the Application Perspective experience in our Personalizing APM blog post.

Use Case: Client Feature (A/B) Testing

As an example, let's take a look at a fictional gaming company that manages multiple game services. Let's say that they've rolled out new features in their support application, which uses new backend functionality. When doing client-side testing in production, developers are challenged with observing the performance of APIs, databases, and other subsystems while trying to distinguish between requests that originate from a specific client and all other requests. This becomes even further complicated as they try to understand the performance implications of specific functionality within those services.

Consider a scenario where a team of developers is building new client functionality and has enabled these features to a subset of their users through the use of feature toggles.


Example Microservice Environment without Application Perspectives

In most application monitoring tools, a complex set of filters would be required to isolate the performance of your application solely based on an HTTP header of an inbound request. Even then, it would be impossible to observe only the performance characteristics of your feature tests while the services are busy processing typical production workloads. Instana has made defining and observing such a use case trivial with Application Perspectives.

In the following scenario, we are only concerned with requests that originate from a front-end client which has a feature flag that enables new (and mostly untested) features for the user. In Instana, this is trivial when using application perspectives combined with metadata that can be used to determine if our client application is generating requests from the aforementioned feature toggle. This can be achieved through the Instana UI with the combination of HTTP header filters.

  1.  call.http.header: x-client-id=portal-client-v2  

    This filter tells Instana to only track requests which originate from a specific version of our support portal client.
  2.  call.http.header: x-feature-id=ticket-subsystem  

    While this filter further refines the performance tracking to only include requests which are a part of the feature test.


Microservice Application from the Perspective of your feature toggle test

Once you've defined this perspective you can observe both the performance of your client and the backend services which only represent the requests and dependencies that were invoked by the features you're testing. This effectively removes all noise from the signal and enables a pure focus on the newly introduced functionality.

This capability enables you to quickly and easily focus on the performance characteristics of your application while in production, without the noise of transactions which have already been optimized and tuned. We'll be blogging about other potential use cases with Perspective Dashboards in the future, so stay tuned. Begin defining your Application Perspectives today and observe the performance that matters to you.

application

Published at DZone with permission of Kevin Crawley, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Core Machine Learning Metrics
  • The 31 Flavors of Data Lineage and Why Vanilla Doesn’t Cut It
  • Utilize OpenAI API to Extract Information From PDF Files
  • Apache Kafka vs. Memphis.dev

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: