Paolo Salvatori's Blog

Adventures in the magic world of Windows Azure

Service Bus Explorer 2.0 released

Service Bus Explorer 2.0 released

Rate This
  • Comments 6

 

I just a major version of the Service Bus Explorer 2.0. This version introduces the following updates:

  • This version uses the Microsoft.ServiceBus.dll 2.0 Beta available on NuGet at http://nuget.org/packages/WindowsAzure.ServiceBus.
  • SAS and Authorization Rules: So far, the Windows Azure Service Bus had a strong dependency on ACS for authentication. As you know, Shared Secret is the most commonly used authentication mechanism, but SAML is a good alternative.This generated some problems, because when ACS is unavailable, applications cannot authenticate and acquire the token necessary to access the Service Bus namespace. That’s why the Service Bus team decided to implement Shared Access Signatures, like in storage services: you will be able to create authorization rules at the queue and topic level to access them directly with a Primary or Secondary key without the need to authenticate against ACS. This should also speed up the access to messaging entities because it cuts the hand shacking with ACS. In addition, the Windows Azure management portal will soon provide the ability to create multiple signatures with different rights. These signatures will be available to be used in a Service Bus connection string. The most restrictive scope always win when you have two SAS, one at the namespace level and one at the entity level, with the same key and different access rights. The Service Bus Explorer 2.0 introduces the possibility to define authorization rules at the queue/topic level as shown in the picture below:

  • Metrics: Windows Azure Service Bus 2.0 introduces the possibility to invoke metrics RESTful services to retrieve useful key performance indicators at the entity level.
  • Supported Metrics:  Telemetry and usage data include the following metrics:
    • Length
    • Size
    • Incoming Messages
    • Outgoing Messages
    • Successful operations
    • Failed operations
    • Internal Server Errors
    • Server Busy Errors
    • Other Errors
  • Metrics support the following granularities:
    • PT5M 5 Minutes rollup
    • PT1H 1 Hour rollup
    • P1D 1 Hour rollup
    • P7D 1 Hour rollup
  • The Service Bus Explorer 2.0 introduces the ability to query telemetry and metrics data. Right-click the namespace root node and choose Open Metrics in SDI or MDI mode as shown in the following picture:

  • The tool gives the user the ability to define one or more Metrics rules to retrieve metrics data by invokingthe RESTful services exposed by the Service Bus. Note: these are the same services invoked by the Windows Azure Management Portal to show Service Bus counter in the Dashboard tab. The user can define multiple rules to compare metrics from different entities (e.g. the incoming messages of request queue with the outgoing messages of a response queue in a given timeframe). Metrics from different entities can be visualized together in the Main Graph, while data and charts for individual metrics can be analyzed on separate tabs. See the following screenshots:



  • The rules can be exported/imported to/from an XML file.
  • Important Note: to access Metrics data is mandatory to indicate in the configuration file or in the Options form the following values:
    • Windows Azure Subscription Id
    • Thumbprint of a Windows Azure Management Certificate
  • Metrics can also be access at the entity level from the Metrics tab as shown in the following screenshots:

  • Monitor: the Service Bus Explorer 2.0 introduces the possibility to monitor in real time and define warning and critical thrshold values for the following properties of for queues, topics and subscriptions:
    • Active Message Count
    • Deadletter Message Count
    • Size
  • The current state of a performance counter can be visualized in the Monitor Rules datagrid or in the chart.
  • The state is represented by a different color:
    • Green: Normal
    • Yellow: Warning
    • Red: Critical
  • State transition events are logged in the Monitor Events listbox.
  • The rules can be exported/imported to/from an XML file.

 

  • Sessions: the Service Bus Explorer 2.0 introduces the possibility to retrieve the current sessions for a sessionful queue or subscriptions. You can access this functionality from the new Sessions button or from the Get Message Sessions context menu of a sessionful entity:

  • Peek and Receive Active Messages: the Service Bus Explorer 2.0 introduces the possibility to peek or receive a configurable amount of messages from a queue or subscription. You can access this functionality from the new Messagesbutton or from the following items in the context menu item of a queue or subscription:
    • Receive All Messages
    • Receive Top k Messages
    • Peek Top k Messages

  • When you click the Ok button in the Retrieve messages from queue (or subscription) dialog, messages are retrieved and showned in the following tab.

  • You can browse messages by selecting the corresponding row in the grid. The Messagestab shows the following information for the selected message:
    • Message Text
    • Message System Properties
    • Message Custom Properties
  • Peek and Receive Deadletter Messages: the Service Bus Explorer 2.0 introduces the possibility to peek or receive a configurable amount of messages from the deadletter queue of queues and subscriptions. You can access this functionality from the new Deadletter button or from the following items in the context menu item of a queue or subscription:
  •  
    • Receive All Deadletter Queue Messages
    • Receive Top k Deadletter Queue Messages
    • Peek Top k Deadletter Queue Messages

  • When you click the Ok button in the Retrieve messages from deadletter queue dialog, messages are retrieved and showned in the following tab.

 

  • You can browse messages by selecting the corresponding row in the grid. The Deadletter tab shows the following information for the selected message:
  •  
    • Message Text
    • Message System Properties
    • Message Custom Properties
  • Repair and Resubmit Message: the Service Bus Explorer 2.0 introduces the possibility to repair and resubmit a message read or peeked from a queue, subscription or deadletter queue. To perform this operation, just double click a message in the Messages or Deadletter tab. This action opens a modal dialog from which you can edit the text, system properties and custom properties of the current message and select a queue or topic in the current namespace to which send the modified message.

  • Sender Think Time: the test queue and test topic controls introduce the ability to define a think time in the Sender tab.

 

  • Receive Think Time: the test queue and test topic controls introduce the ability to define a think time in the Receiver tab.

  • Use multiple files as message template: the Service Bus Explorer 2.0 introduces the possibility to select multiple files from different directories to be used as message templates when testing queues, topics and subscriptions. As shown in the picture below, in the Message tab select the Files sub-tab and use the Select Files button to add files to the list of message templates. Select the files that you want to use as message templates during a test. Sender tasks will use the content of these files in a round-robin fashion when sending messages to queues and topics. All messages will share the custom and system properties defined on the Message and Sender tabs.

  • New configuration settings and Options form: the following settings have been introduced in the Options form and in the configuration file. In addition, the Options form now provides the ability to persist settings to the configuration file by clicking the Savebutton.
    • Monitor Refresh Interval
    • Subscription Id
    • Management Certificate Thumbprint
    • Message Path
    • Message Text
    • Sender Think Time
    • Receive Think Time

  • New About form: you can access my email address and twitter account in the new about form.

  • Auto Delete On Idle: the Service Bus 2.0 introduced for queues, topics and subscriptions the new TimeSpan property AutoDeleteOnIdle that defines the TimeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. The Service Bus Explorer 2.0 has been extended to support this property.

  • Minor changes
    • Added check to make sure that non-numeric values can be entered in textboxes that expect a number
    • Added links to blog, email and twitter in the About form
    • Changed the CreateFileName method of the MainForm class that is invoked when exporting entities
    • Changed Session Timeout with Server Timeout in test queue/topic/subscription controls
    • Deleted Expand and Collapse node from queue node context menu.
    • Fixed a problem with in the ForwardTo form.
    • The message text in the test queue, topic and relay service controls is now indented when is Xml.
    • Added a border to flat comboboxes.
    • Changed look & feel of forms
    • Dispose dialogs and forms after use.
    • Changed Docking properties of chart Legends: moved from right to top.
    • Fixed problem with MaxSizeInMegabytes and ForwardTo properties when importing/exporting entities.
  •  Service Bus for Windows Server support: the Service Bus 2.0 temporarily interrupts the simmetry between the cloud and on-premises version of the Service Bus. In other words, the Microsoft.ServiceBus.dll 2.0 client is not compatible with the Service Bus for Windows Server 1.0. For this reason, I included the old version of the Service Bus Explorer in a zip file called 1.8 which in turn is contained in the zip file of the current version. The old version of the Service Bus Explorer uses the Microsoft.ServiceBus.dll 1.8 which is compatible with the Service Bus for Windows Server.
  • Impressive tool that gives a lot of options to manage our Azure Service Bus.

    www.frankysnotes.com/.../reading-notes-91.html

  • Very nice.  What I have been looking for from MS products in the EAI and Service Bus area have been somewhat disappointing.  

    I really like the idea of Service Bus for Windows Server.  I'm coming from the RabbitMQ/NserviceBus world as well as RhinoESB/MSMQ and I felt was lacking was decent instrumentation and monitoring tools.   Wirth RabbitMQ I get the phenomenal UI that comes free.  But I had yet to see any MS platoform product that offered something similar.   This is a great step.

    I'm looking to migrate some code from NServiceBus on RabbitMQ too Service Bus for Windows Server.  I was hesitant at first as we are using sagas.  But after reading Vastors post on "What is a Saga" I came to the conclusion that our processes are more serialized or pipe lined and the Routing Slip pattern would be fine.   Now realizing that Clemons is working on or with this product I think it would be nice for him or his team to put out a sample with Service Bus for Windows Server implementing a pub/sub model with a long standing operation like a routing slip pattern.

    Looks really good.  

    I will loading this up and giving it a shot.

    Eric Cotter

    Portland, Oregon

  • Thanks for the feedback Eric, feel free to contact me via email and send me comments/feedbacks. You find my email address in the about form.

    Ciao

    Paolo

  • I really appreciate the work you've put into this. It would be great to see some of this functionality in the portal.

  • Dear Paolo,

    I appreciate for everything associated with the tool.

    Am just wondering to find if this possible to delete a particular selected message from dead letter queue other than re-queuing for processing.

    Regards,

    Pavan N

  • Hi Pavan

    I often receive this request and my reply is always the same. ;) I'd love to implement this functionality, but at the moment none of the Service Bus APIs (REST, .NET API, WCF, AMQP) allow to selectively receive or delete a message from a queue, subscription or deadletter queue by sequence number or message id. I reiterated the need for this functionality to the product group. This is the maximum I can do at the moment, as soon as this functionality will (hopefully) be available, I'll surely integrate it in my tool. Hope this helps!

    Ciao

    Paolo

Page 1 of 1 (6 items)
Leave a Comment
  • Please add 7 and 7 and type the answer here:
  • Post
Search Blogs