Dialog context not showing up in Power Bi report #3612
Comments
Thanks @tomSauret847 - we will be reviewing this issue and we will back to you asap! |
Hi @tomSauret847, just to provide an update, we are actively working on investigating this issue and working through reproducing this issue. Once we have been able to do so, we can provide next steps from there. Thank you for your patience and apologies for the delays! |
Hi @tomSauret847 - we successfully reproduced the issue. Also, we tried to reproduce this issue in the TypeScript Skill as well as in a C# Virtual Assistant/Skill but they correctly worked, so this seems to be related to the TypeScript Virtual Assistant only. We would like to validate with you the repro steps that we followed to accomplish this: Repro steps
We used as a guide the Power BI documentation to configure and obtain the Virtual Assistant Insights metrics. As soon as we have any update, we will back to you 😊. |
Thank you @Batta32 for looking into this. I did follow the steps you listed above and received the same result. it seems that this started after the upgrade to the published NPM package as the first version we had built before it went GA was populating the the dialog context in the Power BI report. |
Hi @tomSauret847 - we successfully fixed the issue in the TypeScript Virtual Assistant upcoming 1.0 release adding those changes in the PR #3584, specifically this commit. As a workaround to get your TypeScript Virtual Assistant working, do the following changes in these files:
If you have any questions or changes, don't hesitate to ask us. |
Thank you @Batta32! This did resolve the issue and we are now seeing the dialog context show up in the Power Bi report. |
@Batta32 I did have a question. We are seeing the dialogs in the reporting now but all the skills are showing up under the "Switch Skill Dialog" and not the skill. We do have the telemetry enabled on all the skills and are passing it into the constructor the same as the VA. Am I missing a setting in the skill dialog constructor? |
Thanks @tomSauret847 for your reply! We will be reviewing this scenario and we will back to you as soon as we have any update 😊! |
Thank you again @Batta32, I also noticed that the QNAMakerDialog that is used for the QNA makers, has no telemetry client passed into it. This prevents the QNA maker from populating in the report as well. |
Thank you @tomSauret847 bringing to our attention that the QnAMakerDialog issue. A fix we found is to modify the tryCreateQnADialog method and set the This is because QnAMakerDialog extends from WaterfallDialog, which in turns extends from dialogthat does have a telemetry client property but set as NullTelemetryClient. We tested this scenario on the TypeScript Virtual Assistant 1.0 branch and it is fixed there without the need to pass the telemetry client as parameter. Also using the C# bots of master this is working as expected. Please let us know if this fixes the telemetry registration for We will continue reviewing the issue related to |
Thank you @VictorGrycuk for this information. I have made the changes and we are seeing the QNA maker dialogs populating in the reporting now as shown below. But the QNA performance is still not populating. We are hitting the QNA makers as shown by the dialogs, but the performance is not being populated in the reporting. |
Thanks @tomSauret847 we will back to you as soon as possible! |
Hi @tomSauret847, we reproduced the issue you mentioned about the SwitchSkillDialog and determined that this happens by design as in C# the behavior is the same. An alternative is to set the Instrumentation Key for the Virtual Assistant Application Insights in the appsettings.json of the Skills.
Note: Have in mind that dialogs that have the same name in multiple bots, such as We will be attentive to your reply, and we will be reviewing the issue of QnA Performance 😊. More detailsSince at the moment of deployment each bot create their own application insight resource, the telemetry of each bot is isolated from each other, so to work around this and see the telemetry of all the bots in the same Power BI dashboard it is necessary to set the same instrumentation key in their settings. We investigated why With this in mind we checked what was the |
Thank you @VictorGrycuk I made the changes you outlined above and now all the skill dialogs are showing in the Power Bi reporting. After setting the app insights key in the skills the same as the VA we are populating all the dialogs used in the Skills as well as in the VA. |
Excellent @tomSauret847, good to know it worked. |
Hi @tomSauret847, we just reproduced the issue you reported about QnA in TypeScript not displaying performance. We tested this with an Assistant using master branch as well as the 1.0 release version, with equal results in both cases. Environment used:
Steps used:
We will work on a fix for this both in master and 1.0. Thanks again for reporting. |
Hi @tomSauret847, we could reproduce the issue with the QnA Maker dialogs not displaying performance in Power BI. In order to display the QnA performance information it's necessary to, among other things, enable the transmission of personally identifiable information (PII) as mentioned in this comment of the issue #3447. We observed though, that the referenced flag logPersonalInformation is not present in the QnAMakerDialog class in BotBuilder-JS, as opposed to the same class from BotBuilder-Dotnet. We tested doing those changes by manually modifying the QnAMakerDialog class in node_modules, in our local bot, adding the logPersonalInformation flag forced to true: public logPersonalInformation: BoolExpression = new BoolExpression(true); Then handing over the flag to QnAMaker at the getQnAClient method: /**
* Creates and returns an instance of the QnAMaker class used to query the knowledgebase.
**/
private getQnAClient(): QnAMaker {
const endpoint = {
knowledgeBaseId: this.knowledgeBaseId,
endpointKey: this.endpointKey,
host: this.getHost()
};
const options = this.getQnAMakerOptions();
return new QnAMaker(endpoint, options, this.telemetryClient, this.logPersonalInformation.value);
} |
Thank you @matiasroldan6 for looking into this. I have subscribed to that issue so I will stay updated as they implement a fix for it. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days |
@matiasroldan6 Are we still waiting for this to be fixed in the Botbuilder-js repo? |
Yes @tomSauret847, this last issue was a disparity in the SDK that we raised in microsoft/botbuilder-js#2779. The SDK team confirmed the disparity and they are currently working to solve this. If you agree, we can close this issue and as soon as we any update about the SDK team, we will back to you here 😊. |
Thank you @Batta32 I will close this issue and watch the one you provided. |
What project is affected?
Power Bi report for Virtual Assistant and skills
What language is this in?
TypeScript
What happens?
We are unable to get any dialog context to show up in the power Bi dashboard. We have updated the telemetry logger to record PII but are still not getting any dialog context in the report. All other tabs are populating correctly we are just unable to see any output on the dialog tabs
What are the steps to reproduce this issue?
Create Virtual Assistant,
Add the Boolean value "true" to the telemetry logger
const telemetryLoggerMiddleware = new TelemetryLoggerMiddleware(telemetryClient, true);
const telemetryInitializerMiddleware = new TelemetryInitializerMiddleware(telemetryLoggerMiddleware, true);
check the "All Dialogs Overview" and "Dialog Overview" tabs in the power Bi report
What were you expecting to happen?
Dialog information to be populated in the report
Can you share any logs, error output, etc.?
No errors are present
Any screenshots or additional context?
The text was updated successfully, but these errors were encountered: