Skip to content

Commit

Permalink
FO 3.2.4.831
Browse files Browse the repository at this point in the history
FO 3.2.4.831
  • Loading branch information
GitTorre authored Dec 8, 2022
2 parents 650075f + 770a73a commit efbac6d
Show file tree
Hide file tree
Showing 47 changed files with 979 additions and 987 deletions.
8 changes: 4 additions & 4 deletions Build-SFPkgs.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ function Build-SFPkg {
try {
Push-Location $scriptPath

Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.SelfContained.3.2.3.831" "$scriptPath\bin\release\FabricObserver\linux-x64\self-contained\FabricObserverType"
Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.FrameworkDependent.3.2.3.831" "$scriptPath\bin\release\FabricObserver\linux-x64\framework-dependent\FabricObserverType"
Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.SelfContained.3.2.4.831" "$scriptPath\bin\release\FabricObserver\linux-x64\self-contained\FabricObserverType"
Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.FrameworkDependent.3.2.4.831" "$scriptPath\bin\release\FabricObserver\linux-x64\framework-dependent\FabricObserverType"

Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.2.3.831" "$scriptPath\bin\release\FabricObserver\win-x64\self-contained\FabricObserverType"
Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.FrameworkDependent.3.2.3.831" "$scriptPath\bin\release\FabricObserver\win-x64\framework-dependent\FabricObserverType"
Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.2.4.831" "$scriptPath\bin\release\FabricObserver\win-x64\self-contained\FabricObserverType"
Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.FrameworkDependent.3.2.4.831" "$scriptPath\bin\release\FabricObserver\win-x64\framework-dependent\FabricObserverType"
}
finally {
Pop-Location
Expand Down
13 changes: 6 additions & 7 deletions ClusterObserver/ClusterObserver.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
<Copyright>Copyright © 2022</Copyright>
<Product>ClusterObserver</Product>
<Version>2.2.0.831</Version>
<FileVersion>2.2.0.831</FileVersion>
<Version>2.2.1.831</Version>
<FileVersion>2.2.1.831</FileVersion>
<!-- ***NOTE***: If deploying to SF cluster directly from Visual Studio, you must use single target RID:
For Windows, use win-x64. For Linux, use linux-x64.
<RuntimeIdentifier>win-x64</RuntimeIdentifier> -->
<RuntimeIdentifier>win-x64</RuntimeIdentifier> -->
<!-- For multi-target publish (say, from Azure Pipeline build), you can use multi-target RIDs:
linux-x64;win-x64. -->
<RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
Expand All @@ -27,12 +27,11 @@
<None Remove="ApplicationInsights.config" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.20.0" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" />
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.21.0" />
<PackageReference Include="Microsoft.ServiceFabric.Services" Version="5.0.516" />
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Octokit" Version="1.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="Octokit" Version="4.0.3" />
<PackageReference Include="McMaster.NETCore.Plugins" Version="1.4.0" />
</ItemGroup>
<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions ClusterObserver/ClusterObserverManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ public async Task StartAsync()
{
try
{
using var telemetryEvents = new TelemetryEvents(FabricServiceContext);
using var telemetryEvents = new TelemetryEvents(nodeName);
ClusterObserverOperationalEventData coData = GetClusterObserverInternalTelemetryData();

if (coData != null)
Expand Down Expand Up @@ -363,7 +363,7 @@ public async Task StartAsync()
{
try
{
using var telemetryEvents = new TelemetryEvents(FabricServiceContext);
using var telemetryEvents = new TelemetryEvents(nodeName);

var data = new CriticalErrorEventData
{
Expand Down
3 changes: 1 addition & 2 deletions ClusterObserver/PackageRoot/Data/Plugins/Readme.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
Your Observer plugins must live in this folder.

You must build your plugin as a .NET Standard 2.0 library.

You can target netstandard2.0 or net6.0, depending upon what version of FO you are using. If you are deploying FO *.960 (built for .NET 6), then you can target net6.0. Else, target netstandard2.0.

-- How to implement an observer plugin with our extensibility model --

Expand Down
2 changes: 1 addition & 1 deletion Documentation/Deployment/Deploy-FabricObserver.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Try {

$resourceGroup = "<YOUR-CLUSTER-RESOURCE-NAME>"
$armTemplate = "service-fabric-observer.json"
$armTemplateParameters = "service-fabric-observer.v3.2.3.831.parameters.json"
$armTemplateParameters = "service-fabric-observer.v3.2.4.831.parameters.json"

cd "<LOCAL-FO-REPO-PATH>\Documentation\Deployment"

Expand Down
6 changes: 3 additions & 3 deletions Documentation/Deployment/service-fabric-observer.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@
},
"applicationTypeVersionFabricObserver": {
"type": "string",
"defaultValue": "3.2.3.831",
"defaultValue": "3.2.4.831",
"metadata": {
"description": "Provide the app version number of FabricObserver. This must be identical to the version, 3.2.3.831, in the referenced sfpkg specified in packageUrlFabricObserver."
"description": "Provide the app version number of FabricObserver. This must be identical to the version, 3.2.4.831, in the referenced sfpkg specified in packageUrlFabricObserver."
}
},
"packageUrlFabricObserver": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "This has to be a public accessible URL for the sfpkg file which contains the FabricObserver app package. Example: https://github.com/microsoft/service-fabric-observer/releases/download/[xxxxxxxx]/Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.2.3.831.sfpkg"
"description": "This has to be a public accessible URL for the sfpkg file which contains the FabricObserver app package. Example: https://github.com/microsoft/service-fabric-observer/releases/download/[xxxxxxxx]/Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.2.4.831.sfpkg"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"value": "<YOUR-CLUSTER-RESOURCE-NAME>"
},
"applicationTypeVersionFabricObserver": {
"value": "3.2.3.831"
"value": "3.2.4.831"
},
"packageUrlFabricObserver": {
"value": "<PUBLIC-ACCESSIBLE-URL-FOR-FABRICOBSERVER-SFPKG>"
Expand Down
8 changes: 5 additions & 3 deletions Documentation/ErrorCodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@
| FO045 | Percentage of active Ephemeral TCP ports in use is at or exceeding configured ***Warning*** threshold for an app service process. |
| FO046 | Percentage of active Ephemeral TCP ports in use is at or exceeding configured ***Error*** threshold for a machine. |
| FO047 | Percentage of active Ephemeral TCP ports in use is at or exceeding configured ***Warning*** threshold for a machine. |
| FO048 | Private Bytes usage (Commit) is at or exceeding configured ***Error*** threshold for an app service process. |
| FO049 | Private Bytes usage (Commit) is at or exceeding configured ***Warning*** threshold for an app service process. |
| FO050 | At or exceeding default (90%) or configured percentage of Resource Governance limit 'MemoryInMBLimit' for a service code package. |
| FO048 | Private Bytes usage (Commit) MB is at or exceeding configured ***Error*** threshold for an app service process. |
| FO049 | Private Bytes usage (Commit) MB is at or exceeding configured ***Warning*** threshold for an app service process. |
| FO050 | Private Bytes usage (Commit) Percentage is at or exceeding configured ***Error*** threshold for an app service process. |
| FO051 | Private Bytes usage (Commit) Percentage is at or exceeding configured ***Warning*** threshold for an app service process. |
| FO052 | At or exceeding **configured percentage** of Memory Resource Governance limit for a service code package. |

2 changes: 1 addition & 1 deletion Documentation/OperationalTelemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Here is a full example of exactly what is sent in one of these telemetry events,
"ClusterId": "00000000-1111-1111-0000-00f00d000d",
"ClusterType": "SFRP",
"NodeNameHash": "3e83569d4c6aad78083cd081215dafc81e5218556b6a46cb8dd2b183ed0095ad",
"FOVersion": "3.2.3.831",
"FOVersion": "3.2.4.831",
"HasPlugins": "False",
"ParallelCapable": "True",
"SFRuntimeVersion":"8.2.1363.9590"
Expand Down
2 changes: 1 addition & 1 deletion Documentation/Plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#### Note that starting in version 2.2.0.831, ClusterObserver supports the FO plugin model. So, you can build cluster-level monitoring plugins should you so desire.

1. Create a new .NET Standard (2.0) library project.
1. Create a new .net core library project. You can target netstandard2.0 or net6.0, depending upon what version of FO you are using. If you are deploying FO *.960 (built for .NET 6), then you can target net6.0. Else, target netstandard2.0.

2. Install the latest Microsoft.ServiceFabricApps.FabricObserver.Extensibility nupkg from https://www.nuget.org/profiles/ServiceFabricApps into your plugin project.

Expand Down
19 changes: 8 additions & 11 deletions FabricObserver.Extensibility.nuspec.template
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata minClientVersion="3.3.0">
<id>%PACKAGE_ID%</id>
<version>3.2.3</version>
<version>3.2.4</version>
<releaseNotes>
- Bug Fix (OSInfoProvider - Windows impl). This version fixes a bug with the Logger implementation in WindowsOSInfoProvider that leads to a NullReferenceException.
- Updated OSInfoProvider.TupleGetDynamicPortRange impl.
- Updated Windows TCP port detection impl to account for BOUND state connections (netstat is used to get port data in this release).

</releaseNotes>
<authors>Microsoft</authors>
<license type="expression">MIT</license>
Expand All @@ -23,13 +21,12 @@
<group targetFramework="netstandard2.0">
<dependency id="Microsoft.Win32.Registry" version="5.0.0" />
<dependency id="Microsoft.ServiceFabric.Services" version="5.0.516" />
<dependency id="Microsoft.ApplicationInsights" version="2.20.0" />
<dependency id="Microsoft.ApplicationInsights.DependencyCollector" version="2.20.0" />
<dependency id="Microsoft.ApplicationInsights.NLogTarget" version="2.20.0" />
<dependency id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.20.0" />
<dependency id="Microsoft.ApplicationInsights.WindowsServer" version="2.20.0" />
<dependency id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.20.0" />
<dependency id="Microsoft.AspNet.WebApi.Client" version="5.2.9" />
<dependency id="Microsoft.ApplicationInsights" version="2.21.0" />
<dependency id="Microsoft.ApplicationInsights.DependencyCollector" version="2.21.0" />
<dependency id="Microsoft.ApplicationInsights.NLogTarget" version="2.21.0" />
<dependency id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.21.0" />
<dependency id="Microsoft.ApplicationInsights.WindowsServer" version="2.21.0" />
<dependency id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.21.0" />
<dependency id="Microsoft.Extensions.DependencyInjection" version="6.0.0" />
<dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="6.0.0" />
<dependency id="NLog" version="5.0.1" />
Expand Down
21 changes: 10 additions & 11 deletions FabricObserver.Extensibility/FabricObserver.Extensibility.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<RootNamespace>FabricObserver</RootNamespace>
<Copyright>Copyright © 2022</Copyright>
<Product>FabricObserver</Product>
<Version>3.2.3</Version>
<FileVersion>3.2.3</FileVersion>
<Version>3.2.4</Version>
<FileVersion>3.2.4</FileVersion>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Utilities\MemoryUsage\**" />
Expand All @@ -18,18 +18,17 @@
<Compile Remove="MachineInfoModel\ConfigurationSetting.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" />
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.20.0" />
<PackageReference Include="Microsoft.ApplicationInsights.PerfCounterCollector" Version="2.20.0" />
<PackageReference Include="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" Version="2.20.0" />
<PackageReference Include="Microsoft.ApplicationInsights.WindowsServer" Version="2.20.0" />
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.20.0" />
<PackageReference Include="Microsoft.ApplicationInsights.NLogTarget" Version="2.20.0" />
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.21.0" />
<PackageReference Include="Microsoft.ApplicationInsights.PerfCounterCollector" Version="2.21.0" />
<PackageReference Include="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" Version="2.21.0" />
<PackageReference Include="Microsoft.ApplicationInsights.WindowsServer" Version="2.21.0" />
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.21.0" />
<PackageReference Include="Microsoft.ApplicationInsights.NLogTarget" Version="2.21.0" />
<PackageReference Include="Microsoft.ServiceFabric.Services" Version="5.0.516" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="NLog" Version="5.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="NLog" Version="5.1.0" />
<PackageReference Include="System.Management" Version="6.0.0" />
</ItemGroup>
<ItemGroup>
Expand Down
8 changes: 0 additions & 8 deletions FabricObserver.Extensibility/Interfaces/ITelemetryProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,6 @@ namespace FabricObserver.Observers.Interfaces
/// </summary>
public interface ITelemetryProvider
{
/// <summary>
/// Gets or sets the telemetry API key.
/// </summary>
string Key
{
get; set;
}

/// <summary>
/// Calls telemetry provider to track the availability.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,19 @@ public ServicePackageActivationMode ServicePackageActivationMode
get; set;
}

public bool RGEnabled
public bool RGMemoryEnabled
{
get; set;
}

public double RGMemoryLimitMb
/* TODO..
public bool RGCpuEnabled
{
get; set;
}
*/

public double RGAppliedMemoryLimitMb
{
get; set;
}
Expand Down
14 changes: 7 additions & 7 deletions FabricObserver.Extensibility/ObserverBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -892,8 +892,8 @@ public void ProcessResourceDataReportHealth<T>(
Property = id,
ReplicaId = replicaOrInstance != null ? replicaOrInstance.ReplicaOrInstanceId : 0,
ReplicaRole = replicaOrInstance?.ReplicaRole.ToString(),
RGEnabled = replicaOrInstance != null && replicaOrInstance.RGEnabled,
RGMemoryLimitMb = replicaOrInstance != null ? replicaOrInstance.RGMemoryLimitMb : 0,
RGMemoryEnabled = replicaOrInstance != null && replicaOrInstance.RGMemoryEnabled,
RGAppliedMemoryLimitMb = replicaOrInstance != null ? replicaOrInstance.RGAppliedMemoryLimitMb : 0,
ServiceKind = replicaOrInstance?.ServiceKind.ToString(),
ServiceName = serviceName?.OriginalString ?? null,
ServiceTypeName = serviceTypeName,
Expand Down Expand Up @@ -1210,7 +1210,7 @@ public void ProcessResourceDataReportHealth<T>(

if (replicaOrInstance != null && data.Property == ErrorWarningProperty.RGMemoryUsagePercent)
{
rgInfo = $" of {replicaOrInstance.RGMemoryLimitMb}MB";
rgInfo = $" of {replicaOrInstance.RGAppliedMemoryLimitMb}MB";
}

string metric = data.Property;
Expand Down Expand Up @@ -1504,16 +1504,16 @@ private void SetObserverStaticConfiguration()

case TelemetryProviderType.AzureApplicationInsights:

string aiKey = GetSettingParameterValue(
ObserverConstants.ObserverManagerConfigurationSectionName, ObserverConstants.AiKey);
string aiConnString = GetSettingParameterValue(
ObserverConstants.ObserverManagerConfigurationSectionName, ObserverConstants.AppInsightsConnectionString);

if (string.IsNullOrWhiteSpace(aiKey))
if (string.IsNullOrWhiteSpace(aiConnString))
{
IsTelemetryProviderEnabled = false;
return;
}

TelemetryClient = new AppInsightsTelemetry(aiKey);
TelemetryClient = new AppInsightsTelemetry(aiConnString);
break;

default:
Expand Down
10 changes: 5 additions & 5 deletions FabricObserver.Extensibility/Utilities/FOErrorWarningCodes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -208,23 +208,23 @@ public sealed class FOErrorWarningCodes
/// </summary>
public const string NodeWarningActiveEphemeralPortsPercent = "FO047";
/// <summary>
/// FO048 Private Bytes usage (Commit) is at or exceeding Error threshold for an app service process.
/// FO048 Private Bytes usage (Commit) MB is at or exceeding Error threshold for an app service process.
/// </summary>
public const string AppErrorPrivateBytesMb = "FO048";
/// <summary>
/// FO049 Private Bytes usage (Commit) is at or exceeding Warning threshold for an app service process.
/// FO049 Private Bytes usage (Commit) MB is at or exceeding Warning threshold for an app service process.
/// </summary>
public const string AppWarningPrivateBytesMb = "FO049";
/// <summary>
/// FO049 Private Bytes usage (Commit) is at or exceeding Error threshold for an app service process.
/// FO050 Private Bytes usage (Commit) Percentage is at or exceeding Error threshold for an app service process.
/// </summary>
public const string AppErrorPrivateBytesPercent = "FO050";
/// <summary>
/// FO051 Private Bytes usage (Commit) is at or exceeding Warning threshold for an app service process.
/// FO051 Private Bytes usage (Commit) Percentage is at or exceeding Warning threshold for an app service process.
/// </summary>
public const string AppWarningPrivateBytesPercent = "FO051";
/// <summary>
/// FO052 At or exceeding default (90%) or configured percentage of Resource Governance limit 'MemoryInMBLimit' for a service code package.
/// FO052 At or exceeding configured percentage of Memory Resource Governance limit for a service code package.
/// </summary>
public const string AppWarningRGMemoryLimitPercent = "FO052";

Expand Down
Loading

0 comments on commit efbac6d

Please sign in to comment.