Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@ public class DefaultTenantConfiguration {

public static final String TENANT_TAG = "tenant";

@FunctionalInterface
public interface TenantTagValueProvider {
String getValue(String tenant);
}

public static final TenantTagValueProvider TENANT_TAG_VALUE_PROVIDER = tenant -> Optional.ofNullable(tenant)
.map(String::toUpperCase)
.orElse("N/A");

@Bean
@ConditionalOnMissingBean
TenantAwareCacheManager cacheManager() {
Expand Down Expand Up @@ -73,7 +82,7 @@ public KeyValues getLowCardinalityKeyValues(@NonNull final ServerRequestObservat
}

private KeyValue tenant() {
return KeyValue.of(TENANT_TAG, Optional.ofNullable(AccessContext.tenant()).orElse("n/a"));
return KeyValue.of(TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant()));
}
};
}
Expand Down Expand Up @@ -108,7 +117,7 @@ public RepositoryTagsProvider repositoryTagsProvider() {
@Override
public Iterable<Tag> repositoryTags(final RepositoryMethodInvocationListener.RepositoryMethodInvocation invocation) {
final Iterable<Tag> defaultTags = super.repositoryTags(invocation);
final String tenant = Optional.ofNullable(AccessContext.tenant()).orElse("n/a");
final String tenant = TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant());
return () -> {
final Iterator<Tag> defaultTagsIterator = defaultTags.iterator();
return new Iterator<>() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import static org.eclipse.hawkbit.context.AccessContext.asActor;
import static org.eclipse.hawkbit.context.AccessContext.withSecurityContext;
import static org.eclipse.hawkbit.tenancy.DefaultTenantConfiguration.TENANT_TAG;
import static org.eclipse.hawkbit.tenancy.DefaultTenantConfiguration.TENANT_TAG_VALUE_PROVIDER;

import java.util.Collections;
import java.util.List;
Expand Down Expand Up @@ -119,7 +120,7 @@ public void handleAll() {
} finally {
meterRegistry // handle single targetFilterQuery
.map(mReg -> mReg.timer(
"hawkbit.autoassign.handle", TENANT_TAG, AccessContext.tenant(), "targetFilterQuery",
"hawkbit.autoassign.handle", TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant()), "targetFilterQuery",
String.valueOf(targetFilterQuery.getId())))
.ifPresent(timer -> timer.record(System.nanoTime() - startNanoPartial, TimeUnit.NANOSECONDS));
}
Expand All @@ -132,7 +133,7 @@ public void handleAll() {
// only if there is at least one targetFilterQuery and lock has been obtained then will be measured (as in rollouts)
meterRegistry // handle single targetFilterQuery for single target
.map(mReg -> mReg.timer(
"hawkbit.autoassign.handle.all", TENANT_TAG, AccessContext.tenant()))
"hawkbit.autoassign.handle.all", TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant())))
.ifPresent(timer -> timer.record(System.nanoTime() - startNano, TimeUnit.NANOSECONDS));
log.debug("Auto assign check all targets finished");
}
Expand All @@ -151,15 +152,15 @@ public void handleSingleTarget(final String controllerId) {
} finally {
meterRegistry // handle single targetFilterQuery for single target
.map(mReg -> mReg.timer(
"hawkbit.autoassign.handle.single", TENANT_TAG, AccessContext.tenant(), "targetFilterQuery",
"hawkbit.autoassign.handle.single", TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant()), "targetFilterQuery",
String.valueOf(targetFilterQuery.getId())))
.ifPresent(timer -> timer.record(System.nanoTime() - startNanoPartial, TimeUnit.NANOSECONDS));
}
});

meterRegistry // handle single targetFilterQuery for single target
.map(mReg -> mReg.timer(
"hawkbit.autoassign.handle.single.all", TENANT_TAG, AccessContext.tenant()))
"hawkbit.autoassign.handle.single.all", TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant())))
.ifPresent(timer -> timer.record(System.nanoTime() - startNano, TimeUnit.NANOSECONDS));
log.debug("Auto assign check call for device {} finished", controllerId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
package org.eclipse.hawkbit.repository.jpa.scheduler;

import static org.eclipse.hawkbit.tenancy.DefaultTenantConfiguration.TENANT_TAG;
import static org.eclipse.hawkbit.tenancy.DefaultTenantConfiguration.TENANT_TAG_VALUE_PROVIDER;

import java.util.List;
import java.util.Optional;
Expand Down Expand Up @@ -91,7 +92,7 @@ public void handleAll() {
log.trace("Unlock lock {}", lock);
}
meterRegistry // handle all rollouts of a tenant
.map(mReg -> mReg.timer("hawkbit.rollout.handle.all", TENANT_TAG, AccessContext.tenant()))
.map(mReg -> mReg.timer("hawkbit.rollout.handle.all", TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant())))
.ifPresent(timer -> timer.record(System.nanoTime() - startNano, TimeUnit.NANOSECONDS));
}
}
Expand All @@ -113,7 +114,7 @@ private void handleRolloutInNewTransaction(final long rolloutId, final String ha

meterRegistry // handle single rollout
.map(mReg -> mReg.timer(
"hawkbit.rollout.handle", TENANT_TAG, AccessContext.tenant(), "rollout", String.valueOf(rolloutId)))
"hawkbit.rollout.handle", TENANT_TAG, TENANT_TAG_VALUE_PROVIDER.getValue(AccessContext.tenant()), "rollout", String.valueOf(rolloutId)))
.ifPresent(timer -> timer.record(System.nanoTime() - startNano, TimeUnit.NANOSECONDS));
}
}