Skip to content

Commit 349156c

Browse files
committed
update scalemonitor and target scaler per functionid
1 parent 16e4bf5 commit 349156c

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

src/DurableTask.SqlServer.AzureFunctions/SqlDurabilityProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public override bool TryGetScaleMonitor(
201201
{
202202
this.singletonSqlMetricsProvider = new SqlMetricsProvider(this.service);
203203
}
204-
scaleMonitor = new SqlScaleMonitor(hubName, this.singletonSqlMetricsProvider);
204+
scaleMonitor = new SqlScaleMonitor(functionId, hubName, this.singletonSqlMetricsProvider);
205205

206206
return true;
207207
}
@@ -219,7 +219,7 @@ public override bool TryGetTargetScaler(
219219
this.singletonSqlMetricsProvider = new SqlMetricsProvider(this.service);
220220
}
221221

222-
targetScaler = new SqlTargetScaler(hubName, this.singletonSqlMetricsProvider);
222+
targetScaler = new SqlTargetScaler(functionId,this.singletonSqlMetricsProvider);
223223
return true;
224224
}
225225
#endif

src/DurableTask.SqlServer.AzureFunctions/SqlScaleMonitor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ class SqlScaleMonitor : IScaleMonitor<SqlScaleMetric>
2323

2424
int? previousWorkerCount = -1;
2525

26-
public SqlScaleMonitor(string taskHubName, SqlMetricsProvider sqlMetricsProvider)
26+
public SqlScaleMonitor(string functionId, string taskHubName, SqlMetricsProvider sqlMetricsProvider)
2727
{
2828
// Scalers in Durable Functions are shared for all functions in the same task hub.
2929
// So instead of using a function ID, we use the task hub name as the basis for the descriptor ID.
3030
string id = $"DurableTask-SqlServer:{taskHubName ?? "default"}";
3131

3232
#if FUNCTIONS_V4
33-
this.Descriptor = new ScaleMonitorDescriptor(id: id, functionId: id);
33+
this.Descriptor = new ScaleMonitorDescriptor(id: id, functionId: functionId);
3434
#else
3535
this.Descriptor = new ScaleMonitorDescriptor(id);
3636
#endif

src/DurableTask.SqlServer.AzureFunctions/SqlTargetScaler.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@ public class SqlTargetScaler : ITargetScaler
1212
{
1313
readonly SqlMetricsProvider sqlMetricsProvider;
1414

15-
public SqlTargetScaler(string taskHubName, SqlMetricsProvider sqlMetricsProvider)
15+
public SqlTargetScaler(string functionId, SqlMetricsProvider sqlMetricsProvider)
1616
{
1717
this.sqlMetricsProvider = sqlMetricsProvider;
1818

1919
// Scalers in Durable Functions are shared for all functions in the same task hub.
2020
// So instead of using a function ID, we use the task hub name as the basis for the descriptor ID.
21-
string id = $"DurableTask-SqlServer:{taskHubName ?? "default"}";
22-
this.TargetScalerDescriptor = new TargetScalerDescriptor(id);
21+
this.TargetScalerDescriptor = new TargetScalerDescriptor(functionId);
2322
}
2423

2524
public TargetScalerDescriptor TargetScalerDescriptor { get; }

0 commit comments

Comments
 (0)